Giter Club home page Giter Club logo

twine-feedstock's Introduction

About twine-feedstock

Feedstock license: BSD-3-Clause

Home: https://github.com/pypa/twine

Package license: Apache-2.0

Summary: Collection of utilities for interacting with PyPI

Documentation: https://twine.readthedocs.io

Current build status

All platforms:

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

Installing twine

Installing twine from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge
conda config --set channel_priority strict

Once the conda-forge channel has been enabled, twine can be installed with conda:

conda install twine

or with mamba:

mamba install twine

It is possible to list all of the versions of twine available on your platform with conda:

conda search twine --channel conda-forge

or with mamba:

mamba search twine --channel conda-forge

Alternatively, mamba repoquery may provide more information:

# Search all versions available on your platform:
mamba repoquery search twine --channel conda-forge

# List packages depending on `twine`:
mamba repoquery whoneeds twine --channel conda-forge

# List dependencies of `twine`:
mamba repoquery depends twine --channel conda-forge

About conda-forge

Powered by NumFOCUS

conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the conda-forge GitHub organization. The conda-forge organization contains one repository for each of the installable packages. Such a repository is known as a feedstock.

A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by Azure, GitHub, CircleCI, AppVeyor, Drone, and TravisCI it is possible to build and upload installable packages to the conda-forge anaconda.org channel for Linux, Windows and OSX respectively.

To manage the continuous integration and simplify feedstock maintenance conda-smithy has been developed. Using the conda-forge.yml within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with conda smithy rerender.

For more information please check the conda-forge documentation.

Terminology

feedstock - the conda recipe (raw material), supporting scripts and CI configuration.

conda-smithy - the tool which helps orchestrate the feedstock. Its primary use is in the construction of the CI .yml files and simplify the management of many feedstocks.

conda-forge - the place where the feedstock and smithy live and work to produce the finished article (built conda distributions)

Updating twine-feedstock

If you would like to improve the twine recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the conda-forge channel, whereupon the built conda packages will be available for everybody to install and use from the conda-forge channel. Note that all branches in the conda-forge/twine-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions.

In order to produce a uniquely identifiable distribution:

  • If the version of a package is not being increased, please add or increase the build/number.
  • If the version of a package is being increased, please remember to return the build/number back to 0.

Feedstock Maintainers

twine-feedstock's People

Contributors

bollwyvl avatar cam-gerlach avatar conda-forge-admin avatar conda-forge-curator[bot] avatar github-actions[bot] avatar jakirkham avatar jankatins avatar melund avatar minrk avatar raydouglass avatar regro-cf-autotick-bot avatar sannykr avatar sylvaincorlay avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

twine-feedstock's Issues

Missing dependency on readme_renderer?

twine depends on readme_renderer, but readme_renderer is not in conda package dependencies. As a result twine upload gets an exception.

Compare twine's setup.py to twine-feedstock's meta.yaml:
https://github.com/pypa/twine/blob/c854b2a7b451bf13878f709900261dbcbaf59ca0/setup.py#L72

These steps reproduce the exception:

conda create -n tmp -y
conda activate tmp
conda install twine -c conda-forge -y
# ... and from some directory with a 'dist' directory containing a build...
twine upload --repository-url  https://some-repo dist/* 

(I don't think you need a real repo url to reproduce the exception. You might not even need a real dist directory present).

Exception is:

Traceback (most recent call last):
 File "/home/schweitz/miniconda3/envs/tmp/bin/twine", line 10, in <module>
   sys.exit(main())
 File "/home/schweitz/miniconda3/envs/tmp/lib/python3.7/site-packages/twine/__main__.py", line 28, in main
   return dispatch(sys.argv[1:])
 File "/home/schweitz/miniconda3/envs/tmp/lib/python3.7/site-packages/twine/cli.py", line 75, in dispatch
   main = registered_commands[args.command].load()
 File "/home/schweitz/miniconda3/envs/tmp/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2410, in load
   self.require(*args, **kwargs)
 File "/home/schweitz/miniconda3/envs/tmp/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2433, in require
   items = working_set.resolve(reqs, env, installer, extras=self.extras)
 File "/home/schweitz/miniconda3/envs/tmp/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
   raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'readme-renderer>=21.0' distribution was not found and is required by the application

Environment (conda list):
$ conda list
...
# Name                    Version                   Build  Channel
asn1crypto                0.24.0                py37_1003    conda-forge
bzip2                     1.0.6             h14c3975_1002    conda-forge
ca-certificates           2018.11.29           ha4d7672_0    conda-forge
certifi                   2018.11.29            py37_1000    conda-forge
cffi                      1.12.1           py37h9745a5d_0    conda-forge
chardet                   3.0.4                 py37_1003    conda-forge
cryptography              2.5              py37hb7f436b_1    conda-forge
idna                      2.8                   py37_1000    conda-forge
libffi                    3.2.1             hf484d3e_1005    conda-forge
libgcc-ng                 7.3.0                hdf63c60_0    conda-forge
libstdcxx-ng              7.3.0                hdf63c60_0    conda-forge
ncurses                   6.1               hf484d3e_1002    conda-forge
openssl                   1.0.2p            h14c3975_1002    conda-forge
pip                       19.0.2                   py37_0    conda-forge
pkginfo                   1.5.0.1                    py_0    conda-forge
pycparser                 2.19                       py_0    conda-forge
pyopenssl                 19.0.0                   py37_0    conda-forge
pysocks                   1.6.8                 py37_1002    conda-forge
python                    3.7.1             hd21baee_1001    conda-forge
readline                  7.0               hf8c457e_1001    conda-forge
requests                  2.21.0                py37_1000    conda-forge
requests-toolbelt         0.9.1                      py_0    conda-forge
setuptools                40.8.0                   py37_0    conda-forge
six                       1.12.0                py37_1000    conda-forge
sqlite                    3.26.0            h67949de_1000    conda-forge
tk                        8.6.9             h84994c4_1000    conda-forge
tqdm                      4.31.1                     py_0    conda-forge
twine                     1.13.0                     py_0    conda-forge
urllib3                   1.24.1                py37_1000    conda-forge
wheel                     0.33.0                   py37_0    conda-forge
xz                        5.2.4             h14c3975_1001    conda-forge
zlib                      1.2.11            h14c3975_1004    conda-forge


Details about conda and system ( conda info ):
$ conda info
    active environment : tmp
    active env location : /home/schweitz/miniconda3/envs/tmp
            shell level : 1
       user config file : /home/schweitz/.condarc
 populated config files : /home/schweitz/.condarc
          conda version : 4.6.4
    conda-build version : 3.17.1
         python version : 3.6.7.final.0
       base environment : /home/schweitz/miniconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/linux-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/schweitz/miniconda3/pkgs
                          /home/schweitz/.conda/pkgs
       envs directories : /home/schweitz/miniconda3/envs
                          /home/schweitz/.conda/envs
               platform : linux-64
             user-agent : conda/4.6.4 requests/2.18.4 CPython/3.6.7 Linux/4.15.0-33-generic linuxmint/18.3 glibc/2.23
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

Conda install of `twine` pulling an outdated version of `readme_renderer`

Comment:

Installing a fresh version of twine ends up pulling version 27.0 of readme_renderer which is unfortunately very much out of date. This ends up causing issues when reading README files as part of a twine call due to changes in the keyword arguments of bleach's sanitizer.Cleaner.

The issue seems to be related to the readme_renderer feedstock being unmaintained, see: conda-forge/readme_renderer-feedstock#10

Packages which conda attempts to install on a conda install -c conda-forge twine call:

  bleach             conda-forge/noarch::bleach-5.0.0-pyhd8ed1ab_0
  brotlipy           conda-forge/linux-64::brotlipy-0.7.0-py39h3811e60_1001
  cffi               pkgs/main/linux-64::cffi-1.15.0-py39hd667e15_1
  charset-normalizer conda-forge/noarch::charset-normalizer-2.0.12-pyhd8ed1ab_0
  cmarkgfm           pkgs/main/linux-64::cmarkgfm-0.4.2-py39h27cfd23_0
  colorama           conda-forge/noarch::colorama-0.4.4-pyh9f0ad1d_0
  commonmark         conda-forge/noarch::commonmark-0.9.1-py_0
  cryptography       conda-forge/linux-64::cryptography-35.0.0-py39hbca0aa6_0
  dataclasses        conda-forge/noarch::dataclasses-0.8-pyhc8e2a94_3
  dbus               conda-forge/linux-64::dbus-1.13.6-he372182_0
  docutils           conda-forge/linux-64::docutils-0.18.1-py39hf3d152e_1
  expat              conda-forge/linux-64::expat-2.2.10-h9c3ff4c_0
  future             conda-forge/linux-64::future-0.18.2-py39hf3d152e_5
  glib               pkgs/main/linux-64::glib-2.69.1-h4ff587b_1
  idna               conda-forge/noarch::idna-3.3-pyhd8ed1ab_0
  importlib-metadata conda-forge/linux-64::importlib-metadata-4.11.3-py39hf3d152e_1
  importlib_metadata conda-forge/noarch::importlib_metadata-4.11.3-hd8ed1ab_1
  jeepney            conda-forge/noarch::jeepney-0.8.0-pyhd8ed1ab_0
  keyring            conda-forge/linux-64::keyring-23.4.0-py39hf3d152e_2
  packaging          conda-forge/noarch::packaging-21.3-pyhd8ed1ab_0
  pcre               conda-forge/linux-64::pcre-8.45-h9c3ff4c_0
  pkginfo            conda-forge/noarch::pkginfo-1.8.2-pyhd8ed1ab_0
  pycparser          conda-forge/noarch::pycparser-2.21-pyhd8ed1ab_0
  pygments           conda-forge/noarch::pygments-2.11.2-pyhd8ed1ab_0
  pyopenssl          conda-forge/noarch::pyopenssl-22.0.0-pyhd8ed1ab_0
  pyparsing          conda-forge/noarch::pyparsing-3.0.7-pyhd8ed1ab_0
  pysocks            conda-forge/linux-64::pysocks-1.7.1-py39hf3d152e_5
  python_abi         conda-forge/linux-64::python_abi-3.9-2_cp39
  readme_renderer    conda-forge/noarch::readme_renderer-27.0-pyh9f0ad1d_0
  requests           conda-forge/noarch::requests-2.27.1-pyhd8ed1ab_0
  requests-toolbelt  conda-forge/noarch::requests-toolbelt-0.9.1-py_0
  rfc3986            conda-forge/noarch::rfc3986-2.0.0-pyhd8ed1ab_0
  rich               conda-forge/noarch::rich-12.2.0-pyhd8ed1ab_0
  secretstorage      conda-forge/linux-64::secretstorage-3.3.1-py39hf3d152e_1
  six                conda-forge/noarch::six-1.16.0-pyh6c4a22f_0
  twine              conda-forge/noarch::twine-4.0.0-pyhd8ed1ab_0
  typing_extensions  conda-forge/noarch::typing_extensions-4.1.1-pyha770c72_0
  urllib3            conda-forge/noarch::urllib3-1.26.9-pyhd8ed1ab_0
  webencodings       conda-forge/noarch::webencodings-0.5.1-py_1
  zipp               conda-forge/noarch::zipp-3.8.0-pyhd8ed1ab_0

Environment's list of packages:

# packages in environment at /home/bioc1523/software/anaconda/install/envs/empty:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
_openmp_mutex             4.5                       1_gnu
ca-certificates           2022.3.29            h06a4308_0
certifi                   2021.10.8        py39h06a4308_2
ld_impl_linux-64          2.35.1               h7274673_9
libffi                    3.3                  he6710b0_2
libgcc-ng                 9.3.0               h5101ec6_17
libgomp                   9.3.0               h5101ec6_17
libstdcxx-ng              9.3.0               hd4cf53a_17
ncurses                   6.3                  h7f8727e_2
openssl                   1.1.1n               h7f8727e_0
pip                       21.2.4           py39h06a4308_0
python                    3.9.12               h12debd9_0
readline                  8.1.2                h7f8727e_1
setuptools                58.0.4           py39h06a4308_0
sqlite                    3.38.2               hc218d9a_0
tk                        8.6.11               h1ccaba5_0
tzdata                    2022a                hda174b7_0
wheel                     0.37.1             pyhd3eb1b0_0
xz                        5.2.5                h7b6447c_0
zlib                      1.2.11               h7f8727e_4

Build failures on upload?

Using Anaconda API: https://api.anaconda.org
Traceback (most recent call last):
  File "/feedstock_root/ci_support/upload_or_check_non_existence.py", line 124, in <module>
    main()
  File "/feedstock_root/ci_support/upload_or_check_non_existence.py", line 106, in main
    on_channel = distribution_exists_on_channel(cli, meta, owner, channel)
  File "/feedstock_root/ci_support/upload_or_check_non_existence.py", line 69, in distribution_exists_on_channel
    binstar_cli.show_channel(owner=owner, channel=channel)['files']]
  File "/opt/conda/lib/python3.5/site-packages/binstar_client/mixins/channels.py", line 29, in show_channel
    self._check_response(res, [200])
  File "/opt/conda/lib/python3.5/site-packages/binstar_client/__init__.py", line 200, in _check_response
    raise ErrCls(msg, res.status_code)
binstar_client.errors.NotFound: ('Not Found: Nothing matches the given URI ([GET] https://api.anaconda.org/channels/conda-forge/main -> 404)', 404)

3.0.0 missing dependencies

It looks like the 3.0.0 release is missing some dependencies (importlib_metadata and keyring). Intending to push a 3.1.1, since I don't need the 3.0.0 version, particularly... but might be good to backport.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.