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.2.tar.gz (5.3 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.2-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: psycor-0.1.2.tar.gz
  • Upload date:
  • Size: 5.3 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.2.tar.gz
Algorithm Hash digest
SHA256 6f238efa9758a7fc53e122e2fbff985ffe464f47a97503c7e18f35cf8d8b1f0f
MD5 8415212cdc5e43ee09e836614fd50e2c
BLAKE2b-256 7670b8a472bb52110c1b15a86a6c7030e68f99d4a8f0414f12e46f28fc82c3cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psycor-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8406c583443e62deb111eb88288f8fedbcb720bb02834489eda17b6b9547aa29
MD5 de0fe3f16511c3d2034e00f28c3ac314
BLAKE2b-256 dd0cde999271c870daea07ae864be12cc3f173e6a10af5f4fec31482d8b00a1c

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