ASTOS — Abstract Syntax Tree Observer Service
Observe a estrutura viva do seu código em 3D imersivo. Zero CDN. Puro WebGL Sci-Fi.
O ASTOS escaneia qualquer repositório Python via AST, mapeia módulos, importações e dependências diretas, e gera um mapa 3D orbital (Three.js vendorizado, 100% offline) com física de partículas, teia de aranha luminosa, fita RGB animada nos links selecionados, card HUD Sci-Fi por nó e botão de tela cheia.
Instalação
pip install astos
Uso
Dentro de qualquer repositório:
# primeira vez: cria .astos/, analisa, gera e abre no navegador
astos
# força varredura completa do zero
astos -a
astos --all
Isso gera .astos/index.html (arquivo único, offline) e abre automaticamente
no navegador padrão. Pressione ESC para sair do fullscreen.
O que você vê
- Somente 3D imersivo — esferas de neon, órbita contínua, zoom/pan/orbit.
- Teia de aranha visível de longe — links com feixe luminoso aditivo + opacidade alta.
- Fita RGB animada — fótons coloridos percorrem as arestas do nó selecionado
(toggle global
FLUXO RGBdisponível no HUD). - Card HUD por clique — nome do arquivo/módulo, caminho relativo, importações/dependências diretas e degree centrality.
- Tema Sci-Fi/Chronos — HUD cyberpunk dark, neon cyan/magenta, painéis foscos, fonte monospace, scanlines + vinheta.
Como funciona
astos/parser.py— varre**/*.py, parseiaast.Import/ast.ImportFrom, resolve dependências locais e calcula o grau de cada módulo.astos/generator.py— injeta o grafo +three.min.js+OrbitControls.js(vendorizados emastos/vendor/) em um HTML único, sem nenhum fetch externo.astos/cli.py— gerencia.astos/, cache incremental em.astos/graph.jsone abertura automática no navegador.
Estrutura
astos/
__init__.py
cli.py # CLI `astos` / `astos -a` (click)
parser.py # AST scan -> {nodes, links}
generator.py # HTML 3D Sci-Fi offline (Three.js inline)
vendor/
three.min.js # r128 UMD (offline)
OrbitControls.js # UMD compatível com r128 (offline)
Licença
MIT — veja LICENSE.
Metadata
Release files for astos 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| astos-0.1.0.tar.gz | 173.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| astos-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 345.9 kB
Release files / astos-0.1.0.tar.gz
| Download URL | astos-0.1.0.tar.gz |
|---|---|
| Size | 173.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d22e4efdde3366f8d8af67002cc47c046ef94f0e666510232c4455efc40f8e75
|
|
BLAKE2b-256 checksum How to use checksums |
079a7d86f3b1a4c108a26435d48a0fcb43bd5c68ea699ac118f7df2a46b8c93f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / astos-0.1.0-py3-none-any.whl
| Download URL | astos-0.1.0-py3-none-any.whl |
|---|---|
| Size | 172.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8e21d570b37b4d65559eda4787b86d7887c9792732ffa1bc7c1922ae1a5f1111
|
|
BLAKE2b-256 checksum How to use checksums |
e7a2a5dbc515a3130b329af52248c340c324cbbdea60919e0d5412c0a787df92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|