Skip to main content

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.0). 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

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.toml file
  • Starter code files

Built-in templates include:

  • python — minimal Python project
  • fastapi — basic FastAPI application
  • flask — 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 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.0).
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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psycor-0.1.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

psycor-0.1.1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file psycor-0.1.1.tar.gz.

File metadata

  • Download URL: psycor-0.1.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for psycor-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d2687a5e3f401cc1da724d8277d818df70ffd66b6529c358b24127c82621358f
MD5 46a35a05d46c84957ba93d3345faba80
BLAKE2b-256 652b8232915c210f3690d6e35c91342ded83ec8caa07808b29d5ecad1959e37a

See more details on using hashes here.

File details

Details for the file psycor-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: psycor-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for psycor-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 52160107f4f0cd5e5d3b5070bf6b50cd3abe5cade1b837b1effb3a93a9b3da8b
MD5 15c14a6b5bf55dad23bd4466dee8bba4
BLAKE2b-256 92578fef342dce17049c2803bff293ea9c02795f137463f0dc110e94e0cee948

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page