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 poliglota, mapeia módulos,
importações/#includes/use 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,c,h,cpp,dart,rs,js,jsx,ts,tsx,java,go,cs,kt,...}(Python via AST preciso; demais linguagens via extratores regex sem dependências):import/#include/mod+use/require/using, 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.2.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.2.0.tar.gz | 177.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| astos-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 354.6 kB
Release files / astos-0.2.0.tar.gz
| Download URL | astos-0.2.0.tar.gz |
|---|---|
| Size | 177.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
124736b739effada555837b31916f5262b550cab2f1a8d2919bf473d91cf373e
|
|
BLAKE2b-256 checksum How to use checksums |
cd042933a2fc9a53d5044952921bc4f9e881073a1bbbccd55724d9c4a8a4e7a2
|
| 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.2.0-py3-none-any.whl
| Download URL | astos-0.2.0-py3-none-any.whl |
|---|---|
| Size | 177.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d13fa940476186d7ad66487a9c83e2797375c58735951fcbbbb2e9801395a362
|
|
BLAKE2b-256 checksum How to use checksums |
9495cf658e313f6d3b9302f3572f1267aa034e14c7b9b2ffffc99990fe545e41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|