Automates common Python development tasks through a unified CLI: environment management, metadata synchronization, and cross-surface project renaming.
Setting up and maintaining a Python project involves repetitive manual steps —
installing packages in development mode, keeping metadata in sync across
GitHub and pyproject.toml, and renaming a project across every surface where
its name appears. Architekta consolidates these operations into a single
command-line tool so that each task runs reliably with one invocation.
Each of these tasks — editable installs, metadata synchronization, cross-surface renaming — relies on ad-hoc scripts or manual commands spread across multiple tools. Errors compound when steps are forgotten or executed inconsistently, and the cost grows with the number of surfaces a project name touches (filesystem, GitHub, conda, workspace files, submodules, in-file references).
- Single entry point — one CLI consolidates environment setup, metadata synchronization, and cross-surface rename.
- Dry-run on every operation — all commands support
--dry-runto preview changes before applying them. - Cross-surface coordination — the rename pipeline propagates a name change across filesystem, GitHub, conda, VS Code workspaces, submodules, and in-file references in one invocation.
- Lightweight editable installs —
.pth-based mechanism avoids wheel and source distribution builds required bypip install -e. - README-driven metadata — descriptions propagate from README first sentences
to GitHub and
pyproject.toml, keeping metadata consistent without manual duplication.
- Install packages in editable mode via
.pthfiles, discover packages undersrc/, and validate conda environments. - Install executable scripts in editable mode via symlinks in the conda
environment
bin/directory. - Display packages and executables installed in the current conda environment.
- Synchronize Conda specifications with
pyproject.tomlto keep dependency declarations consistent.
- Extract the first prose sentence from each project's README and propagate
descriptions to GitHub repositories and
pyproject.tomlfields. - Configure a Git repository to use a local commit message template.
- Rename a project across filesystem, GitHub, conda, VS Code workspaces,
submodules, and in-file references through a nine-stage pipeline.
- Propagate changes to affected projects specified via
--affected-path. - Preview the full plan with
--dry-runbefore applying any mutation.
- Propagate changes to affected projects specified via
- Centralize modular configuration files in a
config/directory and synchronize overlapping settings across tools. - Override tool behavior with custom settings (e.g.
force-excludein mypy). - Define custom command aliases in a central manifest that route to the tools involved in the workspace through a uniform interface, replacing ad-hoc invocations.
architekta env install-editable --allarchitekta github sync-descriptions --dry-runarchitekta rename old-name new-name --dry-runfrom architekta import info
print(info())
# architekta 0.0.0 | Platform: Darwin Python 3.12.8| Guide | Content |
|---|---|
| Installation | Prerequisites, pip/conda/source setup |
| Usage | Workflows and detailed examples |
| CLI Reference | Full command reference and options |
| Configuration | Configuration files and environment variables |
Contribution guidelines are described in CONTRIBUTING.md.
Author: @esther-poniatowski
For academic use, the GitHub "Cite this repository" feature generates citations in various formats. The citation metadata file is also available.
This project is licensed under the terms of the GNU General Public License v3.0.