Skip to main content

The engine behind every Phoxtail project.

Project description

Phoxtail

The engine behind every Phoxtail project.

Phoxtail is a CLI toolkit that automates the development and deployment workflow for Phoxtail projects — Docker configuration, environment setup, database operations, nginx, SSL, media sync, and more.

Requirements

  • Python 3.11+
  • uv (recommended) or pip

Installation

As a CLI tool

# Recommended: installs in an isolated environment
uv tool install phoxtail

# Or with pip/pipx
pip install phoxtail

For development

git clone git@github.com:phoxmor/phoxtail.git
cd phoxtail
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"

Usage

Run phoxtail from the root of any Phoxtail project (where phoxtail.toml lives):

phoxtail --help

Commands

Command Description
phoxtail docker up/down/restart Docker lifecycle management
phoxtail docker create compose Generate docker-compose.yaml
phoxtail docker create dockerfile Generate Dockerfile
phoxtail env create Generate .env files (dev/production)
phoxtail nginx create initial Nginx config for SSL certificate retrieval
phoxtail nginx create production Nginx config with SSL/TLS
phoxtail ssl obtain/renew SSL certificate management
phoxtail db backup/restore Database backup and restore
phoxtail db pull Pull database from remote server
phoxtail media pull Sync media files from remote server
phoxtail requirements compile Compile Python dependencies
phoxtail manage <command> Run Django management commands
phoxtail test Run the test suite
phoxtail lint Run linting and formatting
phoxtail version Show CLI version

Project detection

Phoxtail detects projects by looking for phoxtail.toml in the current directory. This file declares the project name, Docker image prefix, database clusters, and their dependencies.

Development

Running tests

pytest

Project structure

phoxtail/
  phoxtail/
    __init__.py         # Package version
    __main__.py         # CLI entry point (Typer app)
    commands/           # Command modules
    utils/              # Shared utilities (config, docker, env, templates)
    templates/          # Jinja2 templates (Dockerfile, compose, nginx, env)
    tests/              # Test suite
  pyproject.toml
  LICENSE
  README.md

License

BSD 3-Clause. See LICENSE.

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

phoxtail-0.1.0.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

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

phoxtail-0.1.0-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

Details for the file phoxtail-0.1.0.tar.gz.

File metadata

  • Download URL: phoxtail-0.1.0.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for phoxtail-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3239cf3163b80852f66e9403c4a2306200654e30b20c8864847698412fc6a914
MD5 aeeb996a4b9f9aa9d281e2caca9867a1
BLAKE2b-256 a263c6eea2efdfa12c59bac17d37df5f12302f0679ae596fbee9ee666e0d9895

See more details on using hashes here.

File details

Details for the file phoxtail-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: phoxtail-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for phoxtail-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33d421ff7dd4a8fc6d3b3c81496458ad6d3167f474c8bbe725cbf50a3068e1a4
MD5 8e31012d4ea30c0e34c325cc4e23a1df
BLAKE2b-256 d2bec91701ffed2fb355ac8f6e853f27563695bec6c783c73f370a815415b372

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