Skip to main content

poco lets you catalogue and manage your Docker projects using simple YAML files to shorten the route from finding your project to initialising it in your environment.

Project description

POCO

Test pypi pypi Test Coverage Maintainability

Poco helps to organise and manage Docker, Docker-Compose, Kubernetes projects of any complexity using simple YAML config files to shorten the route from finding your project to initialising it in your local environment.

  • Simple. Configure, run and switch between projects with a very simple command line interface.
  • Flexibility. Manage, scale, maintain projects of any complexity with ease.
  • Configure Once, Use Everywhere. Configure project once so the rest of your team will feel the value of zero configuration.

Features

  • Docker, Docker-Compose, Kubernetes, Helm support out of the box.
  • Git, SVN support out of the box.
  • Project Catalog, Multiple Catalogues. Create your own project catalog. Organise your projects without additional tools.
  • Multiple Plans. Create multiple plans for different environments or even environments for demo purposes. Switch between plans (environments) with ease.
  • Simple Config Files. Poco helps to split config files, so it is easy to maintain and scale them any time.
  • Script Support (Hooks). Add additional scripts any time.

Global options

  • -V, --verbose — Print more (e.g. merged docker compose config for up/down).
  • -VV or --no-matrix — No matrix effect, show full output (for up/down). Implies verbose.
  • -q, --quiet — Print less.
  • --offline — Offline mode.
  • --always-update — Project repository handle by user.

For poco up / poco down, a matrix-style effect runs by default; only the final result is shown. Set POCO_MATRIX=0 to disable the effect, or use -VV / --no-matrix to disable it and see the full log.

Documentation

All documentation is available on getpoco.io

Requirements

  • Python 3.12.3 or newer (supported version: 3.14.3)
  • Git or SVN
  • SSH
  • Docker (17.0.0 or higher version is recommended)
  • Docker Compose V2 (plugin: docker compose), for compose support
  • kubectl, for Kubernetes support
  • helm, for helm functionality support

Quick start

Install poco:

$:~ pip install poco

Init project:

$:~ mkdir my-project
$:~ cd my-project
$:~ poco init

poco.yml and docker-compose.yml example files will be created.

Start project:

$:~ poco up

Before adding your project to Poco Repo create new empty git repository, add repository to your local Poco Repo config:

$:~ poco repo add <name> <git-url>

Now you can add your project to repo:

$:~ poco project add [<target-dir>] [<catalog>]

Publish your changes:

$:~ poco repo push

Stop your project:

$:~ poco stop

Kubernetes & Helm helpers

  • kubectx — List or switch kubectl context: poco kubectx (list), poco kubectx <context> (switch).
  • kubens — List or switch namespace: poco kubens (list), poco kubens <namespace> (set current context namespace).
  • helm-repos — List Helm repositories: poco helm-repos.
  • helm-list — List Helm releases: poco helm-list, poco helm-list --all-namespaces for all namespaces.

Requires kubectl and/or helm installed and configured.

Changelog

See CHANGELOG.md for release history. Recent: 0.99.6 — kubectx/kubens/helm helpers, matrix 20-line TTY-adaptive effect, verbose merged compose, -VV/--no-matrix.

Licence

MIT Copyright (c) 2017-present, Shiwaforce.com

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

poco-0.99.6.tar.gz (45.9 kB view details)

Uploaded Source

Built Distribution

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

poco-0.99.6-py2.py3-none-any.whl (68.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file poco-0.99.6.tar.gz.

File metadata

  • Download URL: poco-0.99.6.tar.gz
  • Upload date:
  • Size: 45.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for poco-0.99.6.tar.gz
Algorithm Hash digest
SHA256 a49ff9f91a678101cd104ca83da6cc64016c2871f9b7b50437da3f18bfc2d038
MD5 c30d5d80a08598c5fe8496556d7949fa
BLAKE2b-256 35b823e96807c884ed40b50f4df332485e62dca7ad00dc689798d1325e347516

See more details on using hashes here.

File details

Details for the file poco-0.99.6-py2.py3-none-any.whl.

File metadata

  • Download URL: poco-0.99.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 68.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for poco-0.99.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b0b72816ee119d618cb9ad0e2ade436c40a1ea67a28bbe9582c9664f63af4dc2
MD5 60f9b33056eeecbeab45d2ed8c983970
BLAKE2b-256 b54e43bd3965b0232cfa1a7c887ec55b76e46c0e818303d9c167f2238e2e5794

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