Native Poetry Support

Poetry Private Repository for Modern Python Teams

Works with Poetry dependency groups, lock files and monorepos. Upload as many private Python packages as you like, with simple, published pricing.

14 days free. No credit card required.

Native Poetry integration - no plugins needed
Setup in under 2 minutes
Terminal
# Add CloudRepo to Poetry as an explicit source
poetry source add --priority=explicit cloudrepo \
  https://your-org.mycloudrepo.io/repositories/your-repo/simple/

# Install private packages
poetry add internal-sdk --source cloudrepo

# Publish your packages (the upload URL has no /simple/)
export POETRY_REPOSITORIES_CLOUDREPO_URL=https://your-org.mycloudrepo.io/repositories/your-repo
poetry publish --repository cloudrepo
Built for Python teams
dependency groups & lock files

Included on every plan

Plans differ only in storage and transfer allowance.

Coming soon: Access log

Why CloudRepo for Poetry Repositories?

Compare CloudRepo with PyPI servers, JFrog Artifactory, and Sonatype Nexus

Feature
CloudRepo (Recommended)
PyPI Server JFrog Artifactory Sonatype Nexus
Poetry Support Native Basic Plugin Required Limited
Lock File Support Full No Partial No
Dependency Groups Yes No No No
Starting Price $99/month billed annually Self-hosted only $150/month list, billed monthly $162.50/month on an annual plan ($1,950/year)
Free Trial 14 days N/A 14 days Community Edition is free
Maintenance Zero High Medium Medium

Competitor figures were read on 2026-10-06 from: JFrog pricing (archived), JFrog Pro checkout (archived), JFrog free trial (archived), Sonatype pricing (archived). Vendors change prices and plans, so check each page before you decide.

Built for Modern Poetry Workflows

Everything you need for professional Python package management with Poetry

Native Poetry Integration
Seamless compatibility with Poetry's dependency resolver and lock file system for reproducible builds.
Private PyPI Index
Host proprietary Python packages securely with team-based access control and team management.
Dependency Groups Support
Full support for Poetry's dependency groups - dev, test, docs, and custom groups for organized package management.
Monorepo Ready
Perfect for Poetry monorepos with multiple projects sharing internal packages and dependencies.
Enterprise Security
API tokens, SSO, and team access controls for compliance and security.

Quick Poetry Setup Guide

Get your team running with CloudRepo and Poetry in under 2 minutes

1

Configure Poetry for CloudRepo

Add your private CloudRepo repository as an explicit Poetry source in pyproject.toml and pin each private package to it. Every other package still comes from PyPI.

pyproject.toml
[project]
name = "my-service"
version = "0.1.0"
requires-python = ">=3.9"
dependencies = [
    "requests (>=2.31.0,<3.0.0)",         # public: from PyPI
    "acme-shared-lib (>=1.2.0,<2.0.0)",   # private: from CloudRepo alone
    "acme-utils (>=1.0.0,<2.0.0)",        # a private dependency of acme-shared-lib
]

[tool.poetry.dependencies]
acme-shared-lib = { source = "cloudrepo" }
acme-utils = { source = "cloudrepo" }

[[tool.poetry.source]]
name = "cloudrepo"
url = "https://your-org.mycloudrepo.io/repositories/your-repo/simple/"
priority = "explicit"
Terminal
# Poetry reads the credential for the cloudrepo source from these variables,
# so the token is not an argument. The username is the email address of the
# account that created the token. Set both from your secret store.
export POETRY_HTTP_BASIC_CLOUDREPO_USERNAME="$CLOUDREPO_USERNAME"
export POETRY_HTTP_BASIC_CLOUDREPO_PASSWORD="$CLOUDREPO_TOKEN"
poetry install
2

Install Private Dependencies

Add and install packages from your private repository using Poetry's dependency management.

Terminal
# Add private packages to your project. Name every private package they need
# in the same command, so Poetry never takes one of them from PyPI
poetry add acme-utils acme-shared-lib --source cloudrepo

# Install all dependencies including private packages
poetry install

# Update lock file with latest versions
poetry update

# Export requirements for Docker or CI/CD
poetry export -f requirements.txt --output requirements.txt
3

Publish Your Packages

Build and publish your Poetry packages to CloudRepo with a single command.

Terminal
# The upload URL is the repository URL without /simple/
export POETRY_REPOSITORIES_CLOUDREPO_URL=https://your-org.mycloudrepo.io/repositories/your-repo

# Poetry reads the credential for the cloudrepo repository from these variables,
# so the token is not an argument. The username is the email address of the
# account that created the token. Set both from your secret store.
export POETRY_HTTP_BASIC_CLOUDREPO_USERNAME="$CLOUDREPO_USERNAME"
export POETRY_HTTP_BASIC_CLOUDREPO_PASSWORD="$CLOUDREPO_TOKEN"

# Build and publish your package
poetry build
poetry publish --repository cloudrepo

Poetry + CloudRepo Use Cases

How leading teams use CloudRepo with Poetry for Python package management

Modern Python Development

Poetry has become the standard for modern Python package management with its intuitive dependency resolution and lock files.

  • Deterministic builds across all environments
  • Simplified dependency management with groups
  • Built-in virtual environment handling
  • Seamless package publishing workflow

Enterprise Monorepos

CloudRepo excels at supporting Poetry monorepos where multiple projects share internal packages.

  • Share internal libraries across projects
  • Version management for internal packages
  • Simplified CI/CD with centralized packages
  • Reduced duplication and maintenance overhead

Data Science & ML Teams

Perfect for teams sharing ML models, data processing libraries, and research code.

  • Share proprietary algorithms securely
  • Reproducible research environments
  • Integration with Jupyter and notebooks

Every plan includes human support and SSO. See pricing

Frequently Asked Questions

Everything you need to know about using CloudRepo with Poetry

How does CloudRepo work with Poetry?
CloudRepo provides a PyPI-compatible index. Add it to pyproject.toml as an explicit source and pin each private package to it; Poetry installs those from CloudRepo and everything else from PyPI. To publish, add the repository and your credentials as the setup steps show.
Can I use Poetry dependency groups with CloudRepo?
Yes! CloudRepo fully supports Poetry's dependency groups feature. You can organize dependencies into dev, test, docs, and custom groups, and CloudRepo will serve all packages regardless of their group assignment.
How much does CloudRepo cost compared to Artifactory?
CloudRepo Essentials, which holds 10 GB, costs less than JFrog Pro at list at any usage. Store more and JFrog Pro costs less while usage stays light; past that, CloudRepo costs less: from 65 GB of storage plus downloads a month on Starter, or 305 GB on Team, at JFrog's list price. For example, a team with 250GB storage and 500GB monthly transfers pays $499/month billed annually with CloudRepo vs $1,056/month at Artifactory's list price, because JFrog meters storage and transfer while CloudRepo charges a flat plan price.

CloudRepo includes single sign-on and human support from the people who build CloudRepo on every plan.

Features of JFrog Pro and of every CloudRepo plan
Feature JFrog Pro CloudRepo, every plan
Single sign-on (SSO) Not in Pro: JFrog lists SAML and OAuth sign-on for Enterprise X Enterprise X is for organizations who need multi-site capabilities, uptime and support guarantees, and enterprise access controls (ie. OAuth, SAML, CName). JFrog’s pricing page, archived Included
Support Community support: public documentation, a knowledge base and Stack Overflow Community Support - Available for Free solutions and Pro subscriptions - JFrog maintains public documentation, knowledge base, and engages in conversations on Stack Overflow. JFrog’s pricing page, archived Human support from the people who build CloudRepo
Does CloudRepo support Poetry monorepos?
Yes, CloudRepo is perfect for Poetry monorepos. You can host multiple internal packages in a single repository and share them across all projects in your monorepo with proper versioning and dependency management.
Can I migrate from PyPI server or Artifactory?
Absolutely! Migration is straightforward - simply upload your existing packages to CloudRepo and update your Poetry configuration. We provide migration guides and our support team can assist with the transition at no extra cost.

CloudRepo Supports All Modern Python Tools

Beyond Poetry, CloudRepo works seamlessly with every Python package manager and workflow.

uv

Astral's fast installer, written in Rust. Point uv at your CloudRepo index and it installs your private packages like any other.

Explore UV integration →

Pixi

Next-generation cross-platform package manager. Combines conda and PyPI ecosystems. CloudRepo supports Pixi for private package distribution.

Discover Pixi support →

Conda & Miniconda

Use CloudRepo's PyPI repositories with pip inside conda environments.

Learn about Conda →

Traditional pip & setuptools

Full compatibility with pip, easy_install, and setuptools. Standard PyPI API support means CloudRepo works with your existing Python workflow.

View documentation →

Why Teams Choose CloudRepo for Python

  • Works with all package managers - pip, Poetry, UV, Pixi, conda
  • Mix Python and JVM artifacts in one account

See our complete documentation for setup guides, CI/CD integration, and best practices for all Python package managers.

Start Using CloudRepo with Poetry Today

Start managing your private Poetry packages with CloudRepo. 14 days free. No credit card required.

2 min
Setup time
Unlimited
Users & repositories
Zero
Hidden fees

Why Poetry Users Choose CloudRepo

Poetry resolves your dependencies and writes the lock file. CloudRepo hosts the private packages it installs, at a published price.

Native Poetry Repository Support

Poetry connects to CloudRepo through a standard PyPI index, so it needs no plugin. Add CloudRepo as an explicit source in pyproject.toml and pin each private package to it.

Perfect for Poetry Monorepos

If you're managing a Poetry monorepo with multiple interdependent projects, CloudRepo provides the centralized package management you need. Share internal libraries, maintain consistent versions across projects, and simplify your CI/CD pipeline with a single source of truth for all your private packages.

Enterprise-Ready Poetry Hosting

CloudRepo hosts your private Poetry packages. With features like SSO and team-based access controls, you can trust CloudRepo with your most critical Python packages. Plus, our transparent pricing means no per-user fees.

Migration from PyPI Server or Artifactory

Moving from a self-hosted PyPI server or expensive solutions like Artifactory? CloudRepo makes migration simple. Our PyPI-compatible API means your existing Poetry configurations work with minimal changes. Upload your packages, update your repository URLs, and enjoy immediate cost savings with better reliability.