CLI tool for Python project scaffolding and environment management
Project description
Psycor
Psycor is a lightweight CLI tool for generating Python project scaffolding, managing virtual environments, and installing dependencies — all driven by a simple psycor.toml configuration file.
It combines template-based project creation with minimal dependency and environment management, offering a consistent workflow for Python, FastAPI, and Flask projects.
Status: Experimental (v0.1.2). API and template structure may evolve.
Features
- Generate new projects from predefined templates
- Automatically create and manage virtual environments
- Install runtime and development dependencies defined in
psycor.toml - Add new dependencies dynamically with
psycor add - Launch an activated shell inside the project's virtual environment (
psycor venv) - Simple, extensible configuration system
- Built-in templates for Python, FastAPI, and Flask
Installation
Install from PyPI:
pip install psycor
Verify installation:
psycor --help
Quick Start
1. Create a new project
psycor create my-app --template python
List available templates:
psycor create --list
OR initialize Psycor in an existing directory
cd my-app
psycor init
This creates the Psycor configuration file for the project.
2. Install dependencies and create the virtual environment
cd my-app
psycor install
3. Activate the virtual environment
psycor venv
Type exit to return to your previous shell.
4. Add new dependencies
psycor add requests httpx
This installs the packages and updates your psycor.toml.
Project Configuration (psycor.toml)
Each generated project includes a configuration file that defines metadata, dependency groups, and virtual environment behavior.
Example:
[project]
name = "my-app"
[venv]
path = ".venv"
[dependencies]
runtime = ["fastapi", "uvicorn"]
dev = ["pytest"]
[commands]
# Reserved for future use
Psycor relies on this file to manage environments and installation logic.
Templates
Psycor templates live under:
psycor/templates/<template-name>/
A template folder typically contains:
- Directory structure to copy
- A
psycor.tomlfile - Starter code files
Built-in templates include:
python— minimal Python projectfastapi— basic FastAPI applicationflask— basic Flask application
You can add additional templates by simply creating new folders under templates/.
CLI Commands
| Command | Description |
|---|---|
psycor create NAME --template T |
Create a new project from a template |
psycor create --list |
List available templates |
psycor init |
Initialize Psycor configuration in an existing directory |
psycor install |
Create the virtual environment and install dependencies |
psycor venv |
Open a shell with the environment activated |
psycor add pkg1 pkg2 ... |
Install and register additional dependencies |
Experimental Status
This project is early-stage (v0.1.2).
Behavior and APIs may change as development continues.
Feedback and contributions are welcome.
License
This project is licensed under the MIT License.
See the LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file psycor-0.1.3.tar.gz.
File metadata
- Download URL: psycor-0.1.3.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b1c88ec4fc5d9bae3d97d93914e999e0d5ac9668b9ee59397981c93891a50f5
|
|
| MD5 |
63a8621e4b9e3b19222576f6f767c9b9
|
|
| BLAKE2b-256 |
ba892d008c5bf53d67a737ab07de65617f2717f780db280c3d2a26522137b117
|
File details
Details for the file psycor-0.1.3-py3-none-any.whl.
File metadata
- Download URL: psycor-0.1.3-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
816f9d5533a7748c41aeb45bd0e4f825dd3a29f9c539236d82084f5306b64f16
|
|
| MD5 |
d85c02dffcaff7c55e8e6986507d1773
|
|
| BLAKE2b-256 |
317052496a73e733afacf6be8b407b3c51c7213895a5c288d1c1a66302217eab
|