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.1.tar.gz (24.8 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.1-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: phoxtail-0.1.1.tar.gz
  • Upload date:
  • Size: 24.8 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.1.tar.gz
Algorithm Hash digest
SHA256 87fd830699462da39be9fa9d747e346a0e7fe8fe70432b7be9b671e003da3246
MD5 7681fe049a0a72c2c848cb9166e7f1b4
BLAKE2b-256 e242b980c143ccd62040db4d503318d45e1e7142d7adfcd276fc5e8b1bbd68e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: phoxtail-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10661e0d232f66125eb7dbf3a07e0c60d4e2b392f4b0a6f8c1421bd7deb4fb0e
MD5 5af4be789cb02de6d3e85b47e17eb8e0
BLAKE2b-256 eacac345ddd27b9ead9b0010d9292aa86d3be3f79a363cd845ef655e4f2e3311

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