publish

Publish python package to PyPI and Github

https://github.com/fiaas/publish

Science Score: 36.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
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary

Keywords

fiaas kubernetes
Last synced: 9 months ago · JSON representation

Repository

Publish python package to PyPI and Github

Basic Info
  • Host: GitHub
  • Owner: fiaas
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://fiaas.github.io/
  • Size: 77.1 KB
Statistics
  • Stars: 2
  • Watchers: 19
  • Forks: 1
  • Open Issues: 1
  • Releases: 8
Topics
fiaas kubernetes
Created over 8 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Codeowners

README.rst

..
  Copyright 2017-2019 The FIAAS Authors

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

publish - Tool to create a release of a Python package
======================================================

|Codacy Quality Badge| |Codacy Coverage Badge|


.. |Codacy Quality Badge| image:: https://api.codacy.com/project/badge/Grade/bd7d31c7ceac43eb81884b2adc4ba3ed
    :target: https://www.codacy.com/app/fiaas/publish?utm_source=github.com&utm_medium=referral&utm_content=fiaas/publish&utm_campaign=Badge_Grade
.. |Codacy Coverage Badge| image:: https://api.codacy.com/project/badge/Coverage/bd7d31c7ceac43eb81884b2adc4ba3ed
    :target: https://www.codacy.com/app/fiaas/publish?utm_source=github.com&utm_medium=referral&utm_content=fiaas/publish&utm_campaign=Badge_Coverage

publish is a tool to package and release a python project. It will create a changelog and upload artifacts to Github and PyPI.

It is created for and by the `FIAAS project`_, and used for most of our projects.

.. _`FIAAS project`: https://github.com/fiaas


Usage
-----

In order to use publish, you must first install it::

    pip install publish


Under the covers, publish uses github-release_ and twine_ to do most of the work, and those tools require credentials for Github and PyPI to be available in environment variables::

    export GITHUB_TOKEN=gh-token
    export TWINE_USERNAME=pypi-user
    export TWINE_PASSWORD=pypi-pass

In order to know where to upload the artifacts, you must specify an organization, and a repository::

    publish fiaas k8s


Before uploading anything, publish will verify that the current checkout is suitable to be released, and checks the following items:

* Are all files either ignored or in version control?
* Is every change committed?
* Is the currently checked out code tagged with an annotated tag?
* Does that tag use the convention ``v..``?

If the answer to all of these is yes, the name of the tag is used as the version to release. A changelog is generated from the git log, source tarballs and wheels are built, the release is created in Github and PyPI, and the files are uploaded.

When uploading a release to Github, the changelog is attached to the release automatically.

In order for the changelog to be attached to the release on PyPI, it needs to be included in the long description generated by ``setup.py``. To help with this, the changelog is written to a file, and the name of the file is available in an environment variable called ``CHANGELOG_FILE``. Append the contents of this file to your long description, and it will be included in the description on PyPI.

.. _github-release: https://github.com/j0057/github-release
.. _twine: https://github.com/pypa/twine


Releasing
---------

To make a new release of this project, there are a couple steps to follow. Ideally, we want to release from master, as often as possible. Version numbers should adhere to SemVer_. When you have a passing build that you want to make a release from, do the following steps:

- Create an annotated tag for the commit in question, naming it ``v..``. For instance::

    $ git tag -a v0.0.2 a1b2c3d4

- Push the new tag to github::

    $ git push origin v0.0.2

- A new release with the version you selected as a tag should now be built and uploaded to PyPI_ and Github_

.. _SemVer: http://semver.org/
.. _PyPI: https://pypi.org/project/publish/
.. _Github: https://github.com/fiaas/publish/releases

Owner

  • Name: fiaas
  • Login: fiaas
  • Kind: organization

GitHub Events

Total
  • Member event: 1
Last Year
  • Member event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 30
  • Total Committers: 4
  • Avg Commits per committer: 7.5
  • Development Distribution Score (DDS): 0.367
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Morten Lied Johansen m****o@i****o 19
fimojoha m****n@f****o 7
Øyvind Ingebrigtsen Øvergaard o****d@g****m 3
Jamie Wiebe j****e@j****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 25
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 days
  • Total issue authors: 0
  • Total pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.36
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: about 5 hours
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.5
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • mortenlj (17)
  • oyvindio (12)
  • wyattscarpenter (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,080 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 8
    (may contain duplicates)
  • Total versions: 6
  • Total maintainers: 3
pypi.org: publish

Publish python package to PyPI and Github

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 7
  • Downloads: 1,057 Last month
Rankings
Dependent repos count: 5.6%
Dependent packages count: 10.0%
Average: 20.0%
Downloads: 22.6%
Forks count: 29.8%
Stargazers count: 31.9%
Maintainers (3)
Last synced: 10 months ago
pypi.org: fiaas-publish

Publish python package to PyPI and Github

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 23 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 21.7%
Average: 29.3%
Forks count: 29.8%
Stargazers count: 31.9%
Downloads: 53.2%
Maintainers (1)
Last synced: 10 months ago

Dependencies

requirements.txt pypi
setup.py pypi