No project description provided
Project description
pArtifact
pArtifact is a tool to help with configuring and authenticating CodeArtifact as a repository for Poetry and pip.
AWS CLI offers functionality to configure CodeArtifact for pip. This tool offers the following improvements over the CLI:
- Poetry support.
- Assuming an AWS role to get the token. This is handy in automated pipelines, which may have the access key and secret key as environment variables, but want to install packages from CodeArtifact on a different account.
- Configuration persisted in a config file, making the tool more convenient to use than the CLI with the options it requires to be passed in from the command line.
How to use?
Install pArtifact from pypi using pip the usual way:
pip install partifact
It's best to do this globally, rather than inside the virtualenv.
Before you can use pArtifact, you need to configure it for your project
in the pyproject.toml
file.
In the future, this will be done via a configuration tool. For now, however, add the following to the file manually:
[tool.partifact.repository.POETRY_REPOSITORY_NAME]
code_artifact_account = "your-aws-account-hosting-codeartifact"
code_artifact_domain = "your-domain-name"
code_artifact_repository = "your-codeartifact-repository" # not the same as the Poetry repository
aws_profile = "your-aws-profile" # optional
aws_role_arn = "an-aws-role-to-assume" # optional
Replace POETRY_REPOSITORY_NAME
with your Poetry repository name. E.g. for the following
Poetry configuration:
[[tool.poetry.source]]
name = "myrepo"
url = "https://myrepo-codeartifact-url"
POETRY_REPOSITORY_NAME
should be set to "myrepo".
The configuration entries are:
code_artifact_account
: The account hosting the CodeArtifact repository.code_artifact_domain
: The CodeArtifact domain.code_artifact_repository
: The CodeArtifact repository.aws_profile
(optional): Use a non-default AWS profile to get the CodeArtifact token.aws_role_arn
(optional): Assume and use this AWS role to get the CodeArtifact token. This is useful in deployment pipelines, where ENV variables are used for the AWS access key and secret key and the keys are for the account it's deploying the application in, rather than the CodeArtifact account.
Once everything is configured, you can log into CodeArtifact using the pArtifact login command:
partifact login [POETRY_REPOSITORY_NAME]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for partifact-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7af03cd47bcc6a4b4921f9a65699efc4a70bb6f773ba152d507d13583ff76d2 |
|
MD5 | a76dd4d035bcf5e9bc2f90a74ae719c3 |
|
BLAKE2b-256 | 60d9656cdf509536874b47098104d3056327185a3853ac0864b1da5d6136c3fe |