Skip to main content

Packagr CLI

What is Packagr?

Packagr is a cloud hosted private repository for your private Python packages. The Packagr CLI is a separate, open source project intended to support it by allowing you to perform most of Packagr's functionality via the API

Installation

Packagr CLI can be installed via pip:

pip install packagr-cli

It can then be invoked via the packagr command in any terminal window:

packagr [command] [args]

Commands

Configure

packagr configure <hash-id> <email> <password>

You should call the configure command straight after you install Packagr CLI. This command will store your credentials to a config file, packagr_conf.toml, that is referenced by many other of the Packagr CLI commands, and removes the need for the Packagr CLI to contstantly prompt you for your password (as is the case with pip/twine)

Parameters

  • hash-id: See below
  • email: The email address you registered for Packagr with
  • password: The password you registered for Packagr with

Where do I get my Packagr hash id?

When you first sign up for a Packagr account, you'll be assigned a unique repository url that looks something like this:

https://api.packagr.app/u893rj/

The last part of this url is your hash-id

Init

packagr init <name> [--overwrite]

In order to create a Package, Packagr needs a file called packagr.toml, which contains information about your package. The package init command creates this file for you

The name argument is optional - if not specified, the name will default to the name of the folder you invoke the call from.

Additionally, the init command will also create a subfolder called name, if one doesn't already exist. By default, Packagr assumes that the code you want to package is stored in this folder. However, if you want to customize that, you can easily do so by editing the packages parameter in packagr.toml. It's also possible to modify any of the valuues in the config file manually.

Arguments

  • name (Optional): The name of your package
  • --overwrite (Optional): If you try to run packagr init in a folder where a packagr.toml file already exists, you will be prompted to confirm that you want to overwrite the existing file. Passing this argument overrides the prompt

Set

packagr set <key> <value>

Once your packagr.toml file has been created, you can use the set command to set values within it. For example, if you wanted to add a description to the config, you could enter the following command:

packagr set description "some information"

You could equally just go into your packagr.toml file and add the line description = "some information" manually, but the recommended way is to use the CLI - eventually, the CLI will validate the value of key to ensure that it is valid.

If you enter a duplicate key, you will be prompted to confirm that you want to overwrite it

Arguments

  • key: the setting key
  • value: the setting value

Add

packagr add <key> <value>

The add command works in a similar way to the set command, but it's purpose is to append data to arrays already defined in the config. For example, if your config already looks like this:

Authors = ['Chris <chris@packagr.app>'] 

Then you can update this value using packagr add Authors "some guy <me@example.com>" to change it to the following:

Authors = [ "Chris <chris@packagr.app>", "Some guy <me@example.com>",]

The add command will also add a value to a key that doesn't exist.

Arguments

  • key: the setting key
  • value: the setting value

Install

packagr install <some-package>

The install command works in a similar way to pip install - it installs a package using your current environment's pip installation. However, this command will also look for packages in your Packagr repository, as well as in the public PyPI repository. Once a package is installed correctly, it will also be added to your config's install_requires section

Arguments

  • packages: a list of packages to install
  • --ignore-errors: In case of multiple packages, passing this argument means that Packagr will continue attempting to install the remaining packages on the list in the case that one fails

Uninstall

packagr uninstall <some-package>

This command does the opposite of install - it uninstalls a given package and removes it from the dependencies list.

Arguments

  • packages: a list of packages to uninstall
  • --ignore-errors: In case of multiple packages, passing this argument means that Packagr will continue attempting to

Bump

packagr bump <version> [--minor] [--major]

The bump command increases the version number of your package. Used without arguments, e.g. packagr bump, it increases the version number, e.g. 1.0.0 becomes 1.0.0. Using the --minor argument increases the minor version number, e.g. 1.0.0 > 1.1.0 and the --major argument converts 1.0.0 to 2.0.0. The --major and --minor arguments can be used in conjuction with each other.

Alternatively, you can use packagr bump 4.5.6 to set the version for a specific value. If you aren't using semver, which means that the bump command may not be able to parse the existing version number, then you can use this option instead

Arguments

  • version (optional): the version number to set. Not compatible with any other argument
  • --minor (optional): Increase the minor version number
  • --major (optional): Increase the major version number

Package

packagr package

Creates sdist and/or wheel packages based on your config file. Using the command without arguments will create a package in both formats. Using --no-wheel or no-sdist will prevent creation of specific formats

Arguments

  • --no-sdist: Don't build a tarball
  • --no-wheel: Don't build a wheel

Upload

packagr upload [--ignore-409]

This command will push your package to Packagr. If you are uploading many packages at once, you may opt to use the --ignore-409 argument, which will skip to the next package if encountering a 409 error (conflict for URL). In future, Packagr CLI will have the ability to display detailed logs from Packagr, which offers a big advantage over twine's limited ability to handle error responses

Create token

packagr create-token <package> <email> [--write-access]

This command creates an access token for a given package and user. If the --write-access flag is provided, then the created token will have write access.

Delete token

packagr token delete <package> <email>

This command deletes an access token for a given package and user.

Coming soon

The following commands will be added to future versions of Packagr CLI:

  • packagr set-readme <readme-file>: passes the content of a readme file to Description
  • packagr set-public <my-package>: Sets a package as public
  • packagr set-private <my-package>: Sets a package as private

Metadata

Release files for packagr-cli 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for packagr-cli 0.3.0
File Size Uploaded Provenance
packagr-cli-0.3.0.tar.gz 365.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for packagr-cli 0.3.0
File Interpreter ABI Platform
packagr_cli-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 MB

Release files / packagr-cli-0.3.0.tar.gz

Download URL packagr-cli-0.3.0.tar.gz
Size 365.9 kB
Tags Source
SHA-256 checksum
How to use checksums
72594c3c8ee530e9e919b318eb41752a8a9a7018f763e62a6bba5e7d8d899075
BLAKE2b-256 checksum
How to use checksums
69e40fbe9ced6fd034c779bb0696fa0e5ed12a258d80351a46a550d6754d3f39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.11 CPython/3.7.2 Darwin/17.7.0

Release files / packagr_cli-0.3.0-py3-none-any.whl

Download URL packagr_cli-0.3.0-py3-none-any.whl
Size 6.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5dc06e4a40e3862da115b02c92712c84ae3c8859fd55d03a9bcc69f35598fa6b
BLAKE2b-256 checksum
How to use checksums
4fd39439cdcfe41e6f11de7a2e37fd95aa5dfa1d1253fcea2c4e1143681e62ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.11 CPython/3.7.2 Darwin/17.7.0

Security for packagr-cli 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page