AstroProject 晚星计划
四包 monorepo — 筑穹 · 摘星 · 织霞 · 天枢
中文
AstroProject 晚星计划 — 四包 monorepo。乐高式架构,每包可独立 pip install,自由组合。
包拓扑
astrobasis 天枢 (纯机制层,Python 3.12 stdlib only)
╱ │ ╲
astroframe 筑穹 astrocrawl 摘星 astroweave 织霞
(插件平台运行时) (爬虫引擎) (工作流编排)
pip 依赖: astroframe → astrobasis, astrocrawl → astrobasis, astroweave → astrobasis
entry_point: astrocrawl → astroframe.plugins, astroweave → astroframe.plugins
核心三包
| 包 | 名 | Slogan | 定位 |
|---|---|---|---|
| astroframe | 筑穹 | 筑其基者,擎九霄穹 | 通用插件平台运行时 — entry_points 发现、4 层沙箱防御、sigstore/GPG 签名验证、COLLECTOR/CHAIN 调度 |
| astrocrawl | 摘星 | 摘其明者,揽百斗星 | 专业级异步网页爬虫 — Playwright Chromium、robots.txt RFC 9309、声明式规则引擎、AI 多 Provider 底座、PySide6 GUI + CLI |
| astroweave | 织霞 | 织其华者,舞万丈霞 | 工作流编排引擎 — 可组合 DAG 工作流(规划中) |
组件包
| 包 | 星名 | 定位 |
|---|---|---|
| astrobasis | 天枢 | 纯机制层 — logfmt 日志、POSIX 原子写入、JSON 兼容层、共享 Protocol |
组件包以北斗七星命名,天枢为首。
快速开始
git clone https://github.com/Etoileint/AstroProject.git
cd AstroProject
python -m venv .venv
source .venv/bin/activate
# 安装全部包(compat 模式 — monorepo 双嵌套布局必需)
pip install --config-settings editable_mode=compat -e astrobasis/ -e astroframe/ -e astrocrawl/
# 或按需安装
pip install --config-settings editable_mode=compat -e astrobasis/ -e astrocrawl/
playwright install chromium
astrocrawl https://example.com -d 2
项目结构
AstroProject/
├── astrobasis/astrobasis/ # 天枢 — 纯机制:_logging _atomic _json_compat _types
├── astroframe/astroframe/ # 筑穹 — 插件平台:_registry _lifecycle _scanner _sandbox _host _signature
├── astrocrawl/astrocrawl/ # 摘星 — 爬虫引擎:crawler/ browser/ network/ storage/ rules/ ai/ gui/ cli/ proxy/
├── astroweave/astroweave/ # 织霞 — 工作流引擎(规划中)
├── docs/ # ADR、开发者指南、领域文档
├── scripts/ # 代码生成、CI 校验脚本
└── pyproject.toml # 根配置
English
AstroProject 晚星计划 — a four-package monorepo. LEGO-style architecture: each package independently pip install-able, freely composable.
Package Topology
astrobasis (pure mechanism layer, Python 3.12 stdlib only)
╱ │ ╲
astroframe astrocrawl astroweave
(platform) (crawler) (workflow)
pip dependency: astroframe → astrobasis, astrocrawl → astrobasis, astroweave → astrobasis
entry_point: astrocrawl → astroframe.plugins, astroweave → astroframe.plugins
Core Packages
| Package | Name | Slogan | Role |
|---|---|---|---|
| astroframe | 筑穹 | 筑其基者,擎九霄穹 | Universal plugin platform runtime — entry_points discovery, 4-layer sandbox, sigstore/GPG verification, COLLECTOR/CHAIN dispatch |
| astrocrawl | 摘星 | 摘其明者,揽百斗星 | Professional async web crawler — Playwright Chromium, robots.txt RFC 9309, declarative rule engine, AI multi-provider, PySide6 GUI + CLI |
| astroweave | 织霞 | 织其华者,舞万丈霞 | Workflow orchestration engine — composable DAG workflows (planning) |
Component Package
| Package | Star | Role |
|---|---|---|
| astrobasis | 天枢 | Pure mechanism — logfmt logging, POSIX atomic I/O, JSON compat, shared protocols |
Component packages are named after the Big Dipper, starting with 天枢 (Dubhe).
Quick Start
git clone https://github.com/Etoileint/AstroProject.git
cd AstroProject
python -m venv .venv
source .venv/bin/activate
pip install --config-settings editable_mode=compat -e astrobasis/ -e astroframe/ -e astrocrawl/
playwright install chromium
astrocrawl https://example.com -d 2
Project Structure
AstroProject/
├── astrobasis/astrobasis/ # 天枢 — pure mechanism: _logging _atomic _json_compat _types
├── astroframe/astroframe/ # 筑穹 — plugin platform: _registry _lifecycle _scanner _sandbox _host _signature
├── astrocrawl/astrocrawl/ # 摘星 — crawler engine: crawler/ browser/ network/ storage/ rules/ ai/ gui/ cli/ proxy/
├── astroweave/astroweave/ # 织霞 — workflow engine (planning)
├── docs/ # ADRs, developer guides, domain docs
├── scripts/ # Code generation, CI check scripts
└── pyproject.toml # Root config
Metadata
Release files for astroproject 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 | |
|---|---|---|---|
| astroproject-0.1.0.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| astroproject-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.9 kB
Release files / astroproject-0.1.0.tar.gz
| Download URL | astroproject-0.1.0.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
896079487790bc461d25f722744a4afd3a0c418a3944a6045cb785b92f9024d6
|
|
BLAKE2b-256 checksum How to use checksums |
ef2918cf0eb69748111dded2c10dcd5ad004b7303bc907ac0e82c22a56ffbd0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.
Transparency logRelease files / astroproject-0.1.0-py3-none-any.whl
| Download URL | astroproject-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc658d0db23f25f82929b05e24c0a8f149951dd140521e0f89cd75f45f77f423
|
|
BLAKE2b-256 checksum How to use checksums |
3ee932bd77a359105046922a44dbd6f6f0b138fe6c88961ab0a0c619956bf8ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 19, 2026.
Transparency log