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


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.3.tar.gz (5.6 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.3-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

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

Hashes for psycor-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0b1c88ec4fc5d9bae3d97d93914e999e0d5ac9668b9ee59397981c93891a50f5
MD5 63a8621e4b9e3b19222576f6f767c9b9
BLAKE2b-256 ba892d008c5bf53d67a737ab07de65617f2717f780db280c3d2a26522137b117

See more details on using hashes here.

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

Hashes for psycor-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 816f9d5533a7748c41aeb45bd0e4f825dd3a29f9c539236d82084f5306b64f16
MD5 d85c02dffcaff7c55e8e6986507d1773
BLAKE2b-256 317052496a73e733afacf6be8b407b3c51c7213895a5c288d1c1a66302217eab

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