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 ou C/C++, mapeia módulos,
importações/#includes 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,hpp,cc,cxx}, parseiaast.Import/ast.ImportFrom(Python) e#include "..."/<...>(C/C++, via regex), 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.1
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.1.tar.gz | 174.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| astos-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 349.4 kB
Release files / astos-0.1.1.tar.gz
| Download URL | astos-0.1.1.tar.gz |
|---|---|
| Size | 174.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ebc8360128f6074dd795836b90209cc36528b38fe9f79d8982e07ae1699119c
|
|
BLAKE2b-256 checksum How to use checksums |
18f1fa2fb1408376b91c33fe2480b1861d629222ec68dbde23d3469922f94001
|
| 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.1-py3-none-any.whl
| Download URL | astos-0.1.1-py3-none-any.whl |
|---|---|
| Size | 174.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f95316506c5323384913dc1a1ffd939c9c4d8ac781b3cf5cc12f1f7d76c816e4
|
|
BLAKE2b-256 checksum How to use checksums |
0b3181581f14bf899620b69f4ad65ba500ca57a13ac72928f32ffdd85257676e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|