You can use boolean logic (e.g. AND/OR/NOT) for complex search queries. For more help and examples, see the search documentation.
Search by package name:
my-package (implicit)
name:my-package (explicit)
Search by package filename:
filename:my-package.ext
Search by package tag:
tag:latest
Search by package version:
version:1.0.0
prerelease:true (prereleases)
prerelease:false (no prereleases)
Search by package architecture:
architecture:x86_64
Search by package distribution:
distribution:el
Search by package license:
license:MIT
Search by package format:
format:deb
Search by package status:
status:in_progress
Search by package file checksum:
checksum:5afba
Search by package security status:
severity:critical
Search by package vulnerabilities:
vulnerabilities:>1
vulnerabilities:<1000
Search by # of package downloads:
downloads:>8
downloads:<100
Search by package type:
type:binary
type:source
Search by package size (bytes):
size:>50000
size:<10000
Search by dependency name/version:
dependency:log4j
dependency:log4j=1.0.0
dependency:log4j>1.0.0
Search by uploaded date:
uploaded:>"1 day ago"
uploaded:<"August 14, 2022 EST"
Search by entitlement token (identifier):
entitlement:3lKPVJPosCsY
Search by policy violation:
policy_violated:true
deny_policy_violated:true
license_policy_violated:true
vulnerability_policy_violated:true
Search by repository:
repository:repo-name
Search by last download date:
last_downloaded:<"30 days ago"
last_downloaded:>"August 14, 2022 EST"
Search queries for all Debian-specific (and related) package types
Search by component:
deb_component:unstable
Search queries for all Maven-specific (and related) package types
Search by group ID:
maven_group_id:org.apache
Search queries for all Docker-specific (and related) package types
Search by image digest:
docker_image_digest:sha256:7c5..6d4
(full hashref only)
Search by layer digest:
docker_layer_digest:sha256:4c4..ae4
(full hashref only)
Search queries for all Generic-specific package types
Search by file path:
generic_filepath:path/to/file.txt
Search by directory:
generic_directory:path/to
Field type modifiers (depending on the type, you can influence behaviour)
For all queries, you can use:
~foo for negation
For string queries, you can use:
^foo to anchor to start of term
foo$ to anchor to end of term
foo*bar for fuzzy matching
For number/date or version queries, you can use:
>foo for values greater than
>=foo for values greater / equal
<foo for values less than
<=foo for values less / equal
Need a secure and centralised artifact repository to deliver Alpine,
Cargo,
CocoaPods,
Composer,
Conan,
Conda,
CRAN,
Dart,
Debian,
Docker,
Generic,
Go,
Helm,
Hex,
HuggingFace,
LuaRocks,
Maven,
MCP,
npm,
NuGet,
P2,
Python,
RedHat,
Ruby,
Swift,
Terraform,
Vagrant,
VSX,
Raw & More packages?
Cloudsmith is the new standard in Package / Artifact Management and Software Distribution.
With support for all major package formats, you can trust us to manage your software supply chain.
artify
1.10.3
One-liner (summary)
Description
Upload to Nexus, Upload files to hooks, Modify version number, Syncing of GitLab/GitHub type repository, Generate template files, Create Git tags, Extract commands from Git commit messages, Create SonarQube projects, Archive file(s), Create changelog.md file
Installation
You can download and install the latest version of this software from the Python package index (PyPI) as follows:
pip install --upgrade artify
Usage
python -m artify --help=
python -m artify --command <command> [Options]
or
python -m artify -c <command> [Options]
Params
command nexus, syncrepo, deploy, deltav, create, extract, initialize, archive <br>
Create CHANGELOG.md file
python -m artify -c changelog
Optional params
--projectname Used to specify project when solution has more than 1 project. For .NET/NET core projects
.Net/.Netcore example below:
python -m artify -c changelog --projectname Client
<br>
Upload to Nexus
python -m artify -c nexus -f <format> -n <artifact_name> -h <nexus_repository_base_url>
Important
Artifact name should include artifact id and version number. E.g example-ws-1.0.0.war
Params
-f, --format Nexus upload format. Types supported: raw, npm, maven
-w, --workdirectory Working directory of artifact to be uploaded to Nexus repository
-n, --artifactname Artifact name
-r, --repository Nexus repository to upload to: e.g <repository>-snapshots
-g, --groupid Group ID for Maven2 type repository, Environment variable: NEXUS_GROUP_ID
-d, --directory Directory for RAW type repository
-u, --username Username of nexus user, Environment variable: NEXUS_USERNAME
-p, --password Password of nexus user, Environment variable: NEXUS_PASSWORD
--proxy Sets Http proxy
--proxysec Sets Https proxy
Optional Parameter(s)
| --file2 | Allow second file to be upload, will be uploaded as a classifier |
<br>
### Environment variables (Optional if set with -u, -p, -g parameter above)
NEXUS_GROUP_ID Group ID of the project e.g com.testing.testapplication
NEXUS_USERNAME Username of nexus user that will upload artifact
NEXUS_PASSWORD Password of nexus user that will upload artifact
<br>
Deploy App using custom AWX host
python -m artify -c deploy -f <manifest_file.yml> -h <awx_host>
### Environment variables need DEPLOY_TOKEN Token used to deploy application
<br>
Change Package version
Artify uses semantic version 2.0.
python -m artify -c deltav -t patch -a npm
python -m artify -c version -t patch -a flutter
python -m artify -c deltav -t auto -a other --file=setup.py
python -m artify -c version -t minor -a gradle --file=version.properties
Params
-a, --archtype npm, gradle, flutter, maven, dotnet, other
-t, --type major, minor, patch, prerelease, auto
Optional Params
--preValue Prerelease version value e.g SNAPHOT, RELEASE, BUILD, beta, alpa <br>
--getversion Get the current application version
--nocommit Does not create feature branch with version change
--file File name that you want to update version number. It should be relative to artify execution directory
--file2 An additional file that you want to update version number. It should be relative to artify execution directory
<br>
Push changes to GitLab/GitHub repository
- ### Recommendation: You can create a feature branch, then perform your code changes before pushing changes to remote
- python -m artify -c syncrepo -m <message> -b
Params
-c, --message Commit message
-b, --branch Optional, by default, it will push to 'develop' branch
### Environment variables need
PRIVATE_TOKEN, popularly known as personal access token is needed to perform the push. This can be created by following this guide:
[Creating a personal access token: GitLab](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)
[Creating a personal access token: GitHub](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)
N.B A commit is performed automatically followed by a push
<br>
Creating Tags
python -m artify -c syncrepo -m tag
Optional Params
--projectname Used to specify project when solution has more than 1 project. For .NET/NET core projects
python -m artify -c syncrepo -m tag Creates a git tag of repository branch that task is executed on e.g v-1.0.0-a56def9
python -m artify -c syncrepo -m tag --projectname Client Creates a git tag of repository branch for the Client project that task is executed on (For .NET/.NET core projects) e.g v-1.0.0.0-b56dcf9
N.B Please set environment variable CI_COMMIT_SHORT_SHA (This variable is already set in GitLab type repository)
<br>
Generate Template files
### Generate template .gitlab-ci.yml file python -m artify -c create -f gitlabci
### Geneate template manifest.yml file python -m artify -c create -f manifest
Params -f, --file File template to generate
Supported files - .gitlab-ci.yml - manifest.yml
<br>
Extract commands from GIT message
python -m artify -c extract
N.B If manifest.yml file is present, it will update version number in that file also.
Parameters
- version/deltav - specifies type of version change e.g "version": "patch", "deltav": "patch", "version": "minor", "version": "auto"
- archtype - specifies project architecture e.g "archtype": "npm", "archtype": "gradle", "archtype": "flutter", "archtype": "other"
Environment variable(s) needed
CI_COMMIT_MESSAGE This the variables that is used to extract dictionary formatted command
N.B For GitHub, you can set value using commands below pipeline line (*.yml):
env:
CI_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
<br>
Optional Parameters
- branch - speficies branch you want to push changes. If branch is not specified, it push changes to 'develop' branch by default
- nocommit - Does not create feature branch with version change
- file - File name that you want to update version number. It should be relative to artify execution directory
- file2 - An additional file that you want to update version number. It should be relative to artify execution directory
Sample commit messages
- Added login functionality {"version": "patch", "archtype": "npm", "branch": "release-1.0.0" } - Updates the patch version of npm type project, and push to branch called 'release-1.0.0' branch
- Added search functionality {"deltav": "major", "archtype": "gradle" } - Updates the major version of a java project with Gradle build tool
- Added edit functionality {"version": "minor", "a": "flutter" } - Updates the minor version of a flutter project
- Add filter functionality {"version": "prerelease", "archtype": "npm", "preValue": "beta"} - Updates the prerelease value i.e Version 1.0.0 would change to 1.0.0-beta
- Upgrade from Angular 11 to Angular 12 {"version": "auto", "archtype": "gradle", "branch": "feature/angular-12"} - Updates the pre-release integer value by 1 e.g 1.0.0-beta1 will change to 1.0.0-beta2
<br/>
Initialize SonarQube project
python -m artify -c initialize -h <SonarQube_base_url> -k <project-key> -n <project-name> -u <username> -p <password> -a <arch_type/os> -l <language>
Sample command
python -m artify -c initialize -h <SonarQube_base_url> -k <project-key> -n <project-name> -u <username> -p <password> -l java -a gradle
python -m artify -c initialize -h <SonarQube_base_url> -k <project-key> -n <project-name> -u <username> -p <password> -l java -a maven
<br>
For Windows Runner, Other (JS, TS, Go, Python, PHP, ...)
python -m artify -c initialize -h <SonarQube_base_url> -k <project-key> -n <project-name> -u <username> -p <password> -l other -a windows
<br>
For Linux/macOS runner, Other (JS, TS, Go, Python, PHP, ...)
python -m artify -c initialize -h <SonarQube_base_url> -k <project-key> -n <project-name> -u <username> -p <password> -l other -a linux
<br>
Parameters
-l, --language => Possible values: JS, TS, Go, Python, PHP, other)
-a, --archtype => Architecture, OS (depends on usage)
-n, --projectname => Project name.
-k, --projectkey => Project key. This should be a unique identifier for project.
-u, --username => Username for SonarQube.
-p, --password => Password for SonarQube. The user should be able to create projects.
N.B. The user should have the permission to create/modify projects.
python -m artify -c initialize -h <SonarQube_base_url> -k <project-key> -n <project-name> -u <username> -p <password> -a php
<br>
Archive file(s)
Uses Shutil Python library to create archive file
python -m artify -c archive -n <archive_name> -f <archive_format> -w <root_dir> -d base_dir>
Parameters
| -n, --archivename | |
| Name for the archive file that will be created. | |
| -f, --format | Format for the archive e.g zip, tar, gztar, bztar, xztar. |
| -w, --rootdir | Root directory is a directory that will be the root directory of the archive. |
| -d, --basedir | Base directory is the directory where we start archiving from. |
| Status | Completed |
|---|---|
| Checksum (MD5) | a2a468f672b0ff13a9d2466a0f771f01 |
| Checksum (SHA-1) | f334a9a8dd362c76ed0f10416b896e6c77dea9c2 |
| Checksum (SHA-256) | 6cfed78ca664e4efed800de8ee7ee24ae180c77712d08959292b7cb313064eb0 |
| Checksum (SHA-512) | f72a930def33e1c6e2ea7246bd85698788d5b8f613f1906680ccb2812fc161ed43… |
| GPG Signature | |
| GPG Fingerprint | 6811684bac0b8895434e97bdd4391b8fb999e537 |
| Storage Region | Dublin, Ireland |
| Type | Binary (contains binaries and binary artifacts) |
| Uploaded At | 4 months, 3 weeks ago |
| Uploaded By |
|
| Slug Id | artify-1103-py3-none-anywhl-glho |
| Unique Id | Kp5Z42i0QmdAZk5l |
| Version (Raw) | 1.10.3 |
| Version (Parsed) |
|
| extended metadata | |
| Author | Stewartium <stewartium1@gmail.com> |
| Classifiers | License :: OSI Approved :: MIT License | Programming Language :: Python :: 3 | Programming Language :: Python :: 3.7 | Programming Language :: Python :: Implementation :: PyPy |
| Homepage URL | https://github.com/stewiejnr |
| Metadata Version | 2.1 |
| Py Filetype | bdist_wheel |
| Py Version | py3 |
| Requires Dist | requests |
| pkg | artify-1.10.3-py3-none-any.whl |
5
25.0 KB |
md5 | sha1 | sha256 | sha512 |
This package has 22 files/directories.
Last scanned
4 months, 3 weeks ago
Scan result
Clean
Vulnerability count
0
Max. severity
UnknownPackage statistics are no longer available on cloudsmith.io. Please visit our new web app to access this feature.
You can embed a badge in another website that shows this or the latest version of this package.
To embed the badge for this specific package version, use the following:
[](https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/1.10.3/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/)
|This version of 'artify' @ Cloudsmith|
.. |This version of 'artify' @ Cloudsmith| image:: https://api.cloudsmith.com/v1/badges/version/demo-docs/awesome-repo/python/artify/1.10.3/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/?render=true
:target: https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/1.10.3/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/
image::https://api.cloudsmith.com/v1/badges/version/demo-docs/awesome-repo/python/artify/1.10.3/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/?render=true[link="https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/1.10.3/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/",title="This version of 'artify' @ Cloudsmith"]
<a href="https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/1.10.3/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/"><img src="https://api.cloudsmith.com/v1/badges/version/demo-docs/awesome-repo/python/artify/1.10.3/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/?render=true" alt="This version of 'artify' @ Cloudsmith" /></a>
rendered as:
To embed the badge for the latest package version, use the following:
[](https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/latest/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/)
|Latest version of 'artify' @ Cloudsmith|
.. |Latest version of 'artify' @ Cloudsmith| image:: https://api.cloudsmith.com/v1/badges/version/demo-docs/awesome-repo/python/artify/latest/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/?render=true&show_latest=true
:target: https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/latest/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/
image::https://api.cloudsmith.com/v1/badges/version/demo-docs/awesome-repo/python/artify/latest/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/?render=true&show_latest=true[link="https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/latest/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/",title="Latest version of 'artify' @ Cloudsmith"]
<a href="https://cloudsmith.io/~demo-docs/repos/awesome-repo/packages/detail/python/artify/latest/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/"><img src="https://api.cloudsmith.com/v1/badges/version/demo-docs/awesome-repo/python/artify/latest/a=noarch;xf=bdist_wheel;xn=artify;xv=py3/?render=true&show_latest=true" alt="Latest version of 'artify' @ Cloudsmith" /></a>
rendered as:
These instructions assume you have setup the repository first (or read it).
To install/use artify @ version 1.10.3 ...
pip install 'artify==1.10.3'
You can also install the latest version of this package:
pip install --upgrade 'artify'
If necessary, you can specify the repository directly:
pip install \
--index-url=https://dl.cloudsmith.io/public/demo-docs/awesome-repo/python/simple/ \
artify==1.10.3
If you've got a project requirements.txt file, you can specify this as a dependency:
--index-url=https://dl.cloudsmith.io/public/demo-docs/awesome-repo/python/simple/
artify==1.10.3
In addition, you can use this repository as an extra index url. However, please read our documentation on this parameter before using it. For example in a requirements.txt file:
--extra-index-url=https://dl.cloudsmith.io/public/demo-docs/awesome-repo/python/simple/
artify==1.10.3