AliasAnx


NameAliasAnx JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryGeração de arquivos ANX (Alias) em Python
upload_time2025-08-14 02:41:20
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseApache-2.0
keywords alias anx xml graph forensics i2 ibm i2
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AliasAnx

Biblioteca para gerar arquivos ANX (Alias) em Python.

## Instalação

pip install AliasAnx

## Uso rápido

```python
from aliasanx import Pyanx

px = Pyanx()

px.add_node(entity_type='Person', label='Alice', ring_color=255, description='Pessoa exemplo')
px.add_node(entity_type='Person', label='Bob')
px.add_edge('Alice', 'Bob', label='knows', color=0, style='Solid')

px.create('exemplo.anx')
```

## Atributos de Node

Os atributos de node na biblioteca AliasAnx são propriedades que definem as características de cada entidade (nó) no grafo. Cada node é representado por um dicionário com os seguintes atributos:

### **Atributos Principais:**

1. **`entity_type`** (str)
   - Define o tipo da entidade (ex: 'Person', 'Organization', 'Location')
   - Usado para categorizar e agrupar entidades similares
   - Valor padrão: 'Anon'

2. **`label`** (str)
   - Nome ou identificador único da entidade
   - Serve como ID do node no grafo
   - Exemplo: 'Alice', 'Bob', 'Empresa XYZ'

3. **`ring_color`** (int, opcional)
   - Cor do anel/borda ao redor do ícone da entidade
   - Representado como um valor inteiro (código de cor)
   - Se não especificado, o node não terá anel colorido

4. **`description`** (str)
   - Descrição textual da entidade
   - Fornece informações adicionais sobre o node
   - Valor padrão: string vazia

### **Exemplo de Uso:**

```python
from aliasanx import Pyanx

px = Pyanx()

# Node com todos os atributos
px.add_node(
    entity_type='Person',
    label='João Silva',
    ring_color=255,  # Cor vermelha
    description='Desenvolvedor Python'
)

# Node simples
px.add_node(
    entity_type='Company',
    label='TechCorp'
)
```

### **Como os Atributos são Usados:**

- **Visualização**: O `entity_type` define o ícone, `ring_color` define a borda
- **Identificação**: O `label` serve como identificador único
- **Contexto**: `description` e atributos de data fornecem informações contextuais

Esses atributos permitem criar grafos ricos em informações, onde cada entidade pode ter características visuais e descritivas que facilitam a análise e compreensão das relações entre os elementos.

## Atributos de Edge

Os atributos de edge na biblioteca AliasAnx são propriedades que definem as características de cada conexão (aresta) entre entidades no grafo. Cada edge é representado por uma tupla contendo o nó de origem, o nó de destino e um dicionário com os seguintes atributos:

### **Atributos Principais:**

1. **`label`** (str)
   - Rótulo ou nome da conexão entre as entidades
   - Descreve o tipo de relação entre os nós
   - Exemplo: 'knows', 'works_for', 'located_in'

2. **`color`** (int)
   - Cor da linha que representa a conexão
   - Representado como um valor inteiro (código de cor)
   - Valor padrão: 0 (preto)

3. **`style`** (str)
   - Estilo visual da linha de conexão
   - Opções: 'Solid', 'Dashed', 'Dotted'
   - Valor padrão: 'Solid'

4. **`description`** (str)
   - Descrição textual da conexão
   - Fornece informações adicionais sobre a relação
   - Valor padrão: string vazia

### **Exemplo de Uso:**

```python
from aliasanx import Pyanx

px = Pyanx()

# Adicionar nós primeiro
px.add_node(entity_type='Person', label='Maria')
px.add_node(entity_type='Company', label='TechCorp')

# Edge com todos os atributos
px.add_edge(
    source='Maria',
    sink='TechCorp',
    label='works_for',
    color=255,  # Cor vermelha
    style='Solid',
    description='Desenvolvedora sênior'
)

# Edge simples
px.add_edge('Alice', 'Bob', label='knows')
```

### **Como os Atributos são Usados:**

- **Visualização**: O `color` e `style` definem a aparência da linha de conexão
- **Identificação**: O `label` descreve o tipo de relação entre as entidades
- **Contexto**: `description` e atributos de data fornecem informações contextuais sobre a relação

Esses atributos permitem criar grafos com relações ricas em informações, onde cada conexão pode ter características visuais e descritivas que facilitam a análise e compreensão das relações entre as entidades.

## Publicação

Para publicar uma nova versão da biblioteca no PyPI:

### Pré-requisitos
1. Ter uma conta no [PyPI](https://pypi.org) e [TestPyPI](https://test.pypi.org)
2. Gerar API tokens em ambas as plataformas
3. Configurar o arquivo `.pypirc` com suas credenciais

### Processo de Publicação

1. **Atualizar a versão** no `pyproject.toml`
2. **Executar o script de publicação**:
   ```bash
   python publish.py
   ```

3. **Ou usar comandos manuais**:
   ```bash
   # Limpar builds anteriores
   rm -rf build/ dist/ src/AliasAnx.egg-info/
   
   # Construir o pacote
   python -m build
   
   # Verificar o pacote
   python -m twine check dist/*
   
   # Upload para TestPyPI (recomendado primeiro)
   python -m twine upload --repository testpypi dist/*
   
   # Upload para PyPI oficial
   python -m twine upload dist/*
   ```

### Configuração do .pypirc

Edite o arquivo `.pypirc` e substitua os tokens pelos seus:

```ini
[distutils]
index-servers =
    pypi
    testpypi

[pypi]
repository = https://upload.pypi.org/legacy/
username = __token__
password = pypi-YOUR_API_TOKEN_HERE

[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password = pypi-YOUR_TEST_API_TOKEN_HERE
```

## Licença

Apache-2.0

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "AliasAnx",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "alias, anx, xml, graph, forensics, i2, IBM I2",
    "author": null,
    "author_email": "Cristiano Ribeiro Ritta <tiano.ritta@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c8/5a/16f8af1c1721bf1e770ca40ce4658c4e527fa09825e6c8d1b1971fe39e38/aliasanx-0.1.2.tar.gz",
    "platform": null,
    "description": "# AliasAnx\r\n\r\nBiblioteca para gerar arquivos ANX (Alias) em Python.\r\n\r\n## Instala\u00e7\u00e3o\r\n\r\npip install AliasAnx\r\n\r\n## Uso r\u00e1pido\r\n\r\n```python\r\nfrom aliasanx import Pyanx\r\n\r\npx = Pyanx()\r\n\r\npx.add_node(entity_type='Person', label='Alice', ring_color=255, description='Pessoa exemplo')\r\npx.add_node(entity_type='Person', label='Bob')\r\npx.add_edge('Alice', 'Bob', label='knows', color=0, style='Solid')\r\n\r\npx.create('exemplo.anx')\r\n```\r\n\r\n## Atributos de Node\r\n\r\nOs atributos de node na biblioteca AliasAnx s\u00e3o propriedades que definem as caracter\u00edsticas de cada entidade (n\u00f3) no grafo. Cada node \u00e9 representado por um dicion\u00e1rio com os seguintes atributos:\r\n\r\n### **Atributos Principais:**\r\n\r\n1. **`entity_type`** (str)\r\n   - Define o tipo da entidade (ex: 'Person', 'Organization', 'Location')\r\n   - Usado para categorizar e agrupar entidades similares\r\n   - Valor padr\u00e3o: 'Anon'\r\n\r\n2. **`label`** (str)\r\n   - Nome ou identificador \u00fanico da entidade\r\n   - Serve como ID do node no grafo\r\n   - Exemplo: 'Alice', 'Bob', 'Empresa XYZ'\r\n\r\n3. **`ring_color`** (int, opcional)\r\n   - Cor do anel/borda ao redor do \u00edcone da entidade\r\n   - Representado como um valor inteiro (c\u00f3digo de cor)\r\n   - Se n\u00e3o especificado, o node n\u00e3o ter\u00e1 anel colorido\r\n\r\n4. **`description`** (str)\r\n   - Descri\u00e7\u00e3o textual da entidade\r\n   - Fornece informa\u00e7\u00f5es adicionais sobre o node\r\n   - Valor padr\u00e3o: string vazia\r\n\r\n### **Exemplo de Uso:**\r\n\r\n```python\r\nfrom aliasanx import Pyanx\r\n\r\npx = Pyanx()\r\n\r\n# Node com todos os atributos\r\npx.add_node(\r\n    entity_type='Person',\r\n    label='Jo\u00e3o Silva',\r\n    ring_color=255,  # Cor vermelha\r\n    description='Desenvolvedor Python'\r\n)\r\n\r\n# Node simples\r\npx.add_node(\r\n    entity_type='Company',\r\n    label='TechCorp'\r\n)\r\n```\r\n\r\n### **Como os Atributos s\u00e3o Usados:**\r\n\r\n- **Visualiza\u00e7\u00e3o**: O `entity_type` define o \u00edcone, `ring_color` define a borda\r\n- **Identifica\u00e7\u00e3o**: O `label` serve como identificador \u00fanico\r\n- **Contexto**: `description` e atributos de data fornecem informa\u00e7\u00f5es contextuais\r\n\r\nEsses atributos permitem criar grafos ricos em informa\u00e7\u00f5es, onde cada entidade pode ter caracter\u00edsticas visuais e descritivas que facilitam a an\u00e1lise e compreens\u00e3o das rela\u00e7\u00f5es entre os elementos.\r\n\r\n## Atributos de Edge\r\n\r\nOs atributos de edge na biblioteca AliasAnx s\u00e3o propriedades que definem as caracter\u00edsticas de cada conex\u00e3o (aresta) entre entidades no grafo. Cada edge \u00e9 representado por uma tupla contendo o n\u00f3 de origem, o n\u00f3 de destino e um dicion\u00e1rio com os seguintes atributos:\r\n\r\n### **Atributos Principais:**\r\n\r\n1. **`label`** (str)\r\n   - R\u00f3tulo ou nome da conex\u00e3o entre as entidades\r\n   - Descreve o tipo de rela\u00e7\u00e3o entre os n\u00f3s\r\n   - Exemplo: 'knows', 'works_for', 'located_in'\r\n\r\n2. **`color`** (int)\r\n   - Cor da linha que representa a conex\u00e3o\r\n   - Representado como um valor inteiro (c\u00f3digo de cor)\r\n   - Valor padr\u00e3o: 0 (preto)\r\n\r\n3. **`style`** (str)\r\n   - Estilo visual da linha de conex\u00e3o\r\n   - Op\u00e7\u00f5es: 'Solid', 'Dashed', 'Dotted'\r\n   - Valor padr\u00e3o: 'Solid'\r\n\r\n4. **`description`** (str)\r\n   - Descri\u00e7\u00e3o textual da conex\u00e3o\r\n   - Fornece informa\u00e7\u00f5es adicionais sobre a rela\u00e7\u00e3o\r\n   - Valor padr\u00e3o: string vazia\r\n\r\n### **Exemplo de Uso:**\r\n\r\n```python\r\nfrom aliasanx import Pyanx\r\n\r\npx = Pyanx()\r\n\r\n# Adicionar n\u00f3s primeiro\r\npx.add_node(entity_type='Person', label='Maria')\r\npx.add_node(entity_type='Company', label='TechCorp')\r\n\r\n# Edge com todos os atributos\r\npx.add_edge(\r\n    source='Maria',\r\n    sink='TechCorp',\r\n    label='works_for',\r\n    color=255,  # Cor vermelha\r\n    style='Solid',\r\n    description='Desenvolvedora s\u00eanior'\r\n)\r\n\r\n# Edge simples\r\npx.add_edge('Alice', 'Bob', label='knows')\r\n```\r\n\r\n### **Como os Atributos s\u00e3o Usados:**\r\n\r\n- **Visualiza\u00e7\u00e3o**: O `color` e `style` definem a apar\u00eancia da linha de conex\u00e3o\r\n- **Identifica\u00e7\u00e3o**: O `label` descreve o tipo de rela\u00e7\u00e3o entre as entidades\r\n- **Contexto**: `description` e atributos de data fornecem informa\u00e7\u00f5es contextuais sobre a rela\u00e7\u00e3o\r\n\r\nEsses atributos permitem criar grafos com rela\u00e7\u00f5es ricas em informa\u00e7\u00f5es, onde cada conex\u00e3o pode ter caracter\u00edsticas visuais e descritivas que facilitam a an\u00e1lise e compreens\u00e3o das rela\u00e7\u00f5es entre as entidades.\r\n\r\n## Publica\u00e7\u00e3o\r\n\r\nPara publicar uma nova vers\u00e3o da biblioteca no PyPI:\r\n\r\n### Pr\u00e9-requisitos\r\n1. Ter uma conta no [PyPI](https://pypi.org) e [TestPyPI](https://test.pypi.org)\r\n2. Gerar API tokens em ambas as plataformas\r\n3. Configurar o arquivo `.pypirc` com suas credenciais\r\n\r\n### Processo de Publica\u00e7\u00e3o\r\n\r\n1. **Atualizar a vers\u00e3o** no `pyproject.toml`\r\n2. **Executar o script de publica\u00e7\u00e3o**:\r\n   ```bash\r\n   python publish.py\r\n   ```\r\n\r\n3. **Ou usar comandos manuais**:\r\n   ```bash\r\n   # Limpar builds anteriores\r\n   rm -rf build/ dist/ src/AliasAnx.egg-info/\r\n   \r\n   # Construir o pacote\r\n   python -m build\r\n   \r\n   # Verificar o pacote\r\n   python -m twine check dist/*\r\n   \r\n   # Upload para TestPyPI (recomendado primeiro)\r\n   python -m twine upload --repository testpypi dist/*\r\n   \r\n   # Upload para PyPI oficial\r\n   python -m twine upload dist/*\r\n   ```\r\n\r\n### Configura\u00e7\u00e3o do .pypirc\r\n\r\nEdite o arquivo `.pypirc` e substitua os tokens pelos seus:\r\n\r\n```ini\r\n[distutils]\r\nindex-servers =\r\n    pypi\r\n    testpypi\r\n\r\n[pypi]\r\nrepository = https://upload.pypi.org/legacy/\r\nusername = __token__\r\npassword = pypi-YOUR_API_TOKEN_HERE\r\n\r\n[testpypi]\r\nrepository = https://test.pypi.org/legacy/\r\nusername = __token__\r\npassword = pypi-YOUR_TEST_API_TOKEN_HERE\r\n```\r\n\r\n## Licen\u00e7a\r\n\r\nApache-2.0\r\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Gera\u00e7\u00e3o de arquivos ANX (Alias) em Python",
    "version": "0.1.2",
    "project_urls": null,
    "split_keywords": [
        "alias",
        " anx",
        " xml",
        " graph",
        " forensics",
        " i2",
        " ibm i2"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ac858ba546600935e12bd4655defe8881bc8a2300a4e929cca1c7bf1f9a124dc",
                "md5": "3d9fecd281263c8de64c1de0bc316153",
                "sha256": "990eb07a69308cb2feeec0c2be395942407b765eb94d98406644f285552c0bab"
            },
            "downloads": -1,
            "filename": "aliasanx-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3d9fecd281263c8de64c1de0bc316153",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 8046,
            "upload_time": "2025-08-14T02:41:19",
            "upload_time_iso_8601": "2025-08-14T02:41:19.834923Z",
            "url": "https://files.pythonhosted.org/packages/ac/85/8ba546600935e12bd4655defe8881bc8a2300a4e929cca1c7bf1f9a124dc/aliasanx-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c85a16f8af1c1721bf1e770ca40ce4658c4e527fa09825e6c8d1b1971fe39e38",
                "md5": "61852d9c4604e591935b61bb2434ac50",
                "sha256": "2ae8d232e96e661ab7c1c41c39511338db796243ebb32816b3dc2a8490a46916"
            },
            "downloads": -1,
            "filename": "aliasanx-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "61852d9c4604e591935b61bb2434ac50",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 7390,
            "upload_time": "2025-08-14T02:41:20",
            "upload_time_iso_8601": "2025-08-14T02:41:20.729971Z",
            "url": "https://files.pythonhosted.org/packages/c8/5a/16f8af1c1721bf1e770ca40ce4658c4e527fa09825e6c8d1b1971fe39e38/aliasanx-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-14 02:41:20",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "aliasanx"
}
        
Elapsed time: 0.97466s