https://github.com/blue-yonder/devpi-builder
Automatically build and upload python packages to devpi
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.0%) to scientific vocabulary
Keywords
devpi
packaging
python
wheels
Keywords from Contributors
distribution
sequences
charts
robot
pypi
pip
interactive
genomics
asyncio
aiohttp
Last synced: 5 months ago
·
JSON representation
Repository
Automatically build and upload python packages to devpi
Basic Info
Statistics
- Stars: 75
- Watchers: 16
- Forks: 29
- Open Issues: 3
- Releases: 4
Topics
devpi
packaging
python
wheels
Created over 11 years ago
· Last pushed 8 months ago
Metadata Files
Readme
Changelog
License
README.rst
=========================
Brandon the Devpi Builder
=========================
.. image:: https://coveralls.io/repos/blue-yonder/devpi-builder/badge.svg?branch=master
:alt: Coverage Status
:target: https://coveralls.io/r/blue-yonder/devpi-builder?branch=master
.. image:: https://badge.fury.io/py/devpi-builder.svg
:alt: Latest Version
:target: https://pypi.python.org/pypi/devpi-builder
Brandon, the devpi builder, takes a ``requirements.txt`` and incrementally fills a devpi_ index with wheels of the listed python packages.
Brandon by Example
==================
Given a ``requirements.txt``, we can upload all listed packages to the index ``opensource/Debian_7`` on a local devpi using the following command::
$ devpi-builder requirements.txt http://localhost:3141/opensource/Debian_7
Example of such a ``requirements.txt``::
progressbar==0.2.2
progressbar==0.2.1
PyYAML==3.11
Commandline Usage
=================
::
usage: devpi-builder [-h] [--batch] [--user USER] [--password PASSWORD]
[--blacklist BLACKLIST] [--pure-index PURE_INDEX]
[--junit-xml JUNIT_XML] [--run-id RUN_ID] [--dry-run]
[--client-cert CLIENT_CERT]
requirements index
Create wheels for all given project versions and upload them to the given
index.
positional arguments:
requirements requirements.txt style file specifying which project
versions to package.
index The index to upload the packaged software to.
optional arguments:
-h, --help show this help message and exit
--batch Batch mode. Do not prompt for credentials
--user USER The user to log in as.
--password PASSWORD Password of the user.
--blacklist BLACKLIST
Packages matched by this requirements.txt style file
will never be build.
--pure-index PURE_INDEX
The index to use for pure packages. Any non-pure
package will be uploaded to the index given as
positional argument. Packages already found in the
pure index will not be built, either.
--junit-xml JUNIT_XML
Write information about the build success / failure to
a JUnit-compatible XML file.
--run-id RUN_ID Add the given string to all entries in the XML output,
allowing to distinguish output from multiple runs in a
merged XML.
--dry-run Build missing wheels, but do not modify the state of
the devpi server.
--client-cert CLIENT_CERT
Client key to use to authenticate with the devpi
server.
The following environment variables can be used instead of command line arguments:
``DEVPI_USER``
The value of this environment variable will be used if ``--user`` is not given.
``DEVPI_PASSWORD``
The value of this environment variable will be used if ``--password`` is not given.
Features
========
* Read a ``requirements.txt`` style input file.
* Read user/pass from the environment (using ``DEVPI_USER`` and ``DEVPI_PASSWORD``).
* Support multiple versions of a package in the same file.
* Only build packages not yet in the target index.
* Support a black-list for packages to never be built and uploaded (certain packages like numpy are fragile regarding their interdependency with other packages).
* Can use separate indices for plain python packages and those with binary contents.
* Can log build results to a JUnit compatible XML file, thus that it can be parsed by Jenkins.
License
=======
`New BSD`_
.. _devpi: http://doc.devpi.net/latest/
.. _New BSD: https://github.com/blue-yonder/devpi-builder/blob/master/COPYING
Owner
- Name: Blue Yonder GmbH
- Login: blue-yonder
- Kind: organization
- Location: Karlsruhe, Germany
- Website: https://www.blueyonder.com
- Repositories: 32
- Profile: https://github.com/blue-yonder
GitHub Events
Total
- Delete event: 2
- Issue comment event: 3
- Push event: 5
- Pull request review event: 3
- Pull request event: 8
- Fork event: 1
- Create event: 2
Last Year
- Delete event: 2
- Issue comment event: 3
- Push event: 5
- Pull request review event: 3
- Pull request event: 8
- Fork event: 1
- Create event: 2
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Matthias Bach | m****h@b****m | 186 |
| requires.io | s****t@r****o | 76 |
| Stephan Erb | g****b@s****u | 51 |
| dependabot[bot] | 4****] | 23 |
| Matthias Bach | m****x@m****g | 8 |
| sax | s****o@g****m | 7 |
| Jan | B****k | 5 |
| David Szotten | d****n@g****m | 5 |
| snyk-bot | s****t@s****o | 3 |
| pyup-bot | g****t@p****o | 3 |
| pari | p****l@b****m | 2 |
| Denis Otkidach | d****h@g****m | 2 |
| Damian Wąsik | d****8@g****m | 2 |
| Christian Stefanescu | c****u@n****e | 1 |
| Frank Fischer | f****r@j****m | 1 |
| Danny Hermes | d****s@g****m | 1 |
| Gabriel Sailer | g****r@b****m | 1 |
| Hans Lawrenz | h****z@g****m | 1 |
| Holger Peters | h****s@b****m | 1 |
| Matt Ghantous | m****t@a****g | 1 |
| Mikhail Lukyanchenko | ml@a****m | 1 |
| Travis Mehlinger | t****r@g****m | 1 |
Committer Domains (Top 20 + Academic)
blueyonder.com: 2
blue-yonder.com: 2
akabos.com: 1
addgene.org: 1
jda.com: 1
native-instruments.de: 1
pyup.io: 1
snyk.io: 1
marix.org: 1
stephanerb.eu: 1
requires.io: 1
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 8
- Total pull requests: 122
- Average time to close issues: over 1 year
- Average time to close pull requests: 15 days
- Total issue authors: 8
- Total pull request authors: 15
- Average comments per issue: 3.5
- Average comments per pull request: 1.47
- Merged pull requests: 58
- Bot issues: 0
- Bot pull requests: 31
Past Year
- Issues: 0
- Pull requests: 10
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 1.0
- Merged pull requests: 10
- Bot issues: 0
- Bot pull requests: 7
Top Authors
Issue Authors
- davidszotten (1)
- jmaroeder (1)
- ghost (1)
- matthias-bach-by (1)
- pyup-bot (1)
- cb109 (1)
- aadis (1)
- simon-weber (1)
Pull Request Authors
- pyup-bot (55)
- dependabot[bot] (42)
- matthias-bach-by (12)
- theMarix (9)
- snyk-bot (5)
- patrick-ringl-by (2)
- gsailer (1)
- StephanErb (1)
- saxix (1)
- jank (1)
- tmehlinger (1)
- damianwasik98 (1)
- mghantous (1)
- HolgerPeters (1)
- ods (1)
Top Labels
Issue Labels
help wanted (3)
bug (2)
invalid (1)
enhancement (1)
Pull Request Labels
dependencies (42)
python (3)
enhancement (1)
Dependencies
requirements.in
pypi
- devpi-plumber >=0.4.3
- mock *
- pytest *
- pytest-cov *
- pytest-mock *
- setuptools_scm *
requirements.txt
pypi
- apipkg ==1.5
- appdirs ==1.4.4
- argon2-cffi ==20.1.0
- attrs ==20.3.0
- bleach ==4.1.0
- build ==0.3.1.post1
- certifi ==2020.12.5
- cffi ==1.14.5
- chardet ==4.0.0
- check-manifest ==0.46
- coverage ==5.5
- devpi-client ==5.2.2
- devpi-common ==3.6.0
- devpi-plumber ==0.5.1
- devpi-server ==5.5.1
- distlib ==0.3.1
- docutils ==0.16
- entry-points-txt ==0.1.0
- execnet ==1.8.0
- filelock ==3.0.12
- headerparser ==0.4.0
- hupper ==1.10.2
- idna ==2.10
- iniconfig ==1.1.1
- itsdangerous ==1.1.0
- junit-xml ==1.9
- lazy ==1.4
- mock ==4.0.3
- packaging ==20.9
- passlib ==1.7.4
- pastedeploy ==2.1.1
- pep517 ==0.10.0
- pkginfo ==1.7.0
- plaster ==1.0
- plaster-pastedeploy ==0.7
- pluggy ==0.13.1
- py ==1.10.0
- pycparser ==2.20
- pygments ==2.8.1
- pyparsing ==2.4.7
- pyramid ==1.10.8
- pytest ==6.2.2
- pytest-cov ==2.11.1
- pytest-mock ==3.5.1
- python-dateutil ==2.8.1
- readme-renderer ==24.0
- repoze-lru ==0.7
- requests ==2.25.1
- ruamel-yaml ==0.17.0
- ruamel-yaml-clib ==0.2.2
- setuptools-scm ==6.0.1
- six ==1.15.0
- strictyaml ==1.3.2
- toml ==0.10.2
- tox ==3.23.0
- translationstring ==1.4
- twitter-common-contextutil ==0.3.11
- twitter-common-dirutil ==0.3.11
- twitter-common-lang ==0.3.11
- urllib3 ==1.26.5
- venusian ==3.0.0
- virtualenv ==20.4.3
- waitress ==2.0.0
- webencodings ==0.5.1
- webob ==1.8.7
- wheel ==0.36.2
- wheel-filename ==1.3.0
- wheel-inspect ==1.7.0
- zope-deprecation ==4.4.0
- zope-interface ==5.3.0
setup.py
pypi
- devpi-plumber >=0.2.14
- junit-xml *
- pip >=1.5.3
- setuptools *
- wheel *
- wheel-filename *
- wheel-inspect >=1.6.0
.github/workflows/publish.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tests.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
core-requirements.txt
pypi
- devpi-plumber >=0.2.14
- junit-xml *
- pip >=1.5.3
- setuptools *
- wheel *
- wheel-filename *
- wheel-inspect >=1.6.0
tests/fixture/non-ascii_package/setup.py
pypi
tests/fixture/non-pure_package/setup.py
pypi
tests/fixture/pure_package/setup.py
pypi