GithubHelp home page GithubHelp logo

urllib3-feedstock's Introduction

About urllib3-feedstock

Feedstock license: BSD-3-Clause

Home: https://urllib3.readthedocs.io/

Package license: MIT

Summary: HTTP library with thread-safe connection pooling, file post, and more.

Development: https://github.com/shazow/urllib3

Documentation: https://urllib3.readthedocs.io/

Current build status

All platforms:

Current release info

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

Installing urllib3

Installing urllib3 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, urllib3 can be installed with conda:

conda install urllib3

or with mamba:

mamba install urllib3

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

conda search urllib3 --channel conda-forge

or with mamba:

mamba search urllib3 --channel conda-forge

Alternatively, mamba repoquery may provide more information:

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

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

# List dependencies of `urllib3`:
mamba repoquery depends urllib3 --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 urllib3-feedstock

If you would like to improve the urllib3 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/urllib3-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

urllib3-feedstock's People

Contributors

conda-forge-admin avatar conda-forge-curator[bot] avatar github-actions[bot] avatar isuruf avatar jakirkham avatar jjhelmus avatar mariusvniekerk avatar minrk avatar ocefpaf avatar pmlandwehr avatar pquentin avatar regro-cf-autotick-bot avatar sethmlarson avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

urllib3-feedstock's Issues

Importing urllib3.contrib.pyopenssl causes Python interpreter to crash on osx-arm64

I'm testing some aspects the osx-arm64 builds for Python (most notably python-gitlab, which uses requests-toolbelt, that itself tries to import urllib3.contrib.pyopenssl). As it happens, this will crash the python interpreter on that architecture, for at least Python=3.8 and 3.9 builds. The same would happen with the following import: import requests.packages.urllib3.contrib.pyopenssl, but my initial guess is that those are interrelated.

Of course, this closes conda-forge/python-gitlab-feedstock#34 as the problem is not on that package.

How to reproduce this:

$ conda create -n test urllib3
...
$ conda activate test
(test) $ python -c 'import urllib3.contrib.pyopenssl'
[1]    73393 killed     python -c 'import urllib3.contrib.pyopenssl'
(test) $

The same also happens through requests, but that should be related (?):

(test) $ conda install requests
...
(test) $ python -c 'import requests.packages.urllib3.contrib.pyopenssl'
[1]    73494 killed     python -c 'import requests.packages.urllib3.contrib.pyopenssl'
(test) $

Issue:


Environment (conda list):
$ conda list
# packages in environment at /Users/admin/mamba/envs/test:
#
# Name                    Version                   Build  Channel
brotlipy                  0.7.0           py39h5161555_1001    conda-forge
ca-certificates           2021.10.8            h4653dfc_0    conda-forge
certifi                   2021.10.8        py39h2804cbe_0    conda-forge
cffi                      1.14.6           py39h52b1de0_1    conda-forge
chardet                   4.0.0            py39h2804cbe_1    conda-forge
charset-normalizer        2.0.0              pyhd8ed1ab_0    conda-forge
cryptography              35.0.0           py39h73257c9_0    conda-forge
idna                      3.1                pyhd3deb0d_0    conda-forge
libcxx                    12.0.1               h168391b_0    conda-forge
libffi                    3.4.2                hbdafb3b_4    conda-forge
libzlib                   1.2.11            hee7b306_1013    conda-forge
ncurses                   6.2                  h9aa5885_4    conda-forge
openssl                   1.1.1l               h3422bc3_0    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pyopenssl                 21.0.0             pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1            py39h2804cbe_3    conda-forge
python                    3.9.7           h54d631c_3_cpython    conda-forge
python_abi                3.9                      2_cp39    conda-forge
readline                  8.1                  hedafd6a_0    conda-forge
requests                  2.26.0             pyhd8ed1ab_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlite                    3.36.0               h72a2b83_2    conda-forge
tk                        8.6.11               he1e0b03_1    conda-forge
tzdata                    2021e                he74cb21_0    conda-forge
urllib3                   1.26.7             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h642e427_1    conda-forge
zlib                      1.2.11            hee7b306_1013    conda-forge

Details about conda and system ( conda info ):
$ conda info

     active environment : test
    active env location : /Users/admin/mamba/envs/test
            shell level : 2
       user config file : /Users/admin/.condarc
 populated config files : /Users/admin/mamba/.condarc
                          /Users/admin/.condarc
          conda version : 4.10.3
    conda-build version : not installed
         python version : 3.9.7.final.0
       virtual packages : __osx=11.5.2=0
                          __unix=0=0
                          __archspec=1=arm64
       base environment : /Users/admin/mamba  (writable)
      conda av data dir : /Users/admin/mamba/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/admin/mamba/pkgs
                          /Users/admin/.conda/pkgs
       envs directories : /Users/admin/mamba/envs
                          /Users/admin/.conda/envs
               platform : osx-arm64
             user-agent : conda/4.10.3 requests/2.26.0 CPython/3.9.7 Darwin/20.6.0 OSX/11.5.2
                UID:GID : 501:20
             netrc file : None
           offline mode : False

.egg-info files are world-writable

Issue:

Files in the urrlib3 package (specifically .egg-info) are world-writable:

$ ls -la /tmp/my-env/lib/python3.6/site-packages/urllib3-1.23-py3.6.egg-info/
total 68
drwxrwxr-x  2 test test  4096 Jul 19 07:38 .
drwxrwxr-x 27 test test  4096 Jul 19 07:38 ..
-rwxrwxrwx  2 test test 41888 Jun 18 18:54 PKG-INFO
-rwxrwxrwx  2 test test  3671 Jun 18 18:54 SOURCES.txt
-rwxrwxrwx  2 test test     1 Jun 18 18:54 dependency_links.txt
-rwxrwxrwx  2 test test   113 Jun 18 18:54 requires.txt
-rwxrwxrwx  2 test test     8 Jun 18 18:54 top_level.txt

These aren't super important files, but it's probably worth investigating. I've seen this in the pip and urllib3 packages so far.

I noticed that these files have weird permissions in the sdists themselves for the packages. I don't know how that happens, though, because when I run their release scripts myself I get normal permissions in the resulting archive.

Should it be conda's responsibility to prevent installing world-writable files? Or conda-build's responsibility to prevent adding them to the package?


Environment (conda list):
$ conda list
# packages in environment at /opt/tljh/hub:
#
# Name                    Version                   Build  Channel
alembic                   1.0.0                     <pip>
asn1crypto                0.24.0                   py36_0
async-generator           1.9                       <pip>
atomicwrites              1.1.5                     <pip>
attrs                     18.1.0                    <pip>
bcrypt                    3.1.4                     <pip>
ca-certificates           2018.4.16                     0    conda-forge
certifi                   2018.4.16                py36_0    conda-forge
cffi                      1.11.5           py36h9745a5d_0
chardet                   3.0.4            py36h0f667ec_1
conda                     4.5.8                    py36_1    conda-forge
conda-env                 2.6.0                h36134e3_1
configurable-http-proxy   3.1.0                   node8_1    conda-forge
cryptography              2.2.2            py36h14c3975_0
decorator                 4.3.0                     <pip>
idna                      2.6              py36h82fb2a8_1
ipython-genutils          0.2.0                     <pip>
Jinja2                    2.10                      <pip>
jupyterhub                0.9.0                     <pip>
jupyterhub-dummyauthenticator 0.3.1                     <pip>
jupyterhub-firstuseauthenticator 0.10                      <pip>
jupyterhub-ldapauthenticator 1.2.2                     <pip>
jupyterhub-systemdspawner 0.11                      <pip>
ldap3                     2.5                       <pip>
libedit                   3.1.20170329         h6b74fdf_2
libffi                    3.2.1                hd88cf55_4
libgcc                    7.2.0                h69d50b8_2
libgcc-ng                 7.2.0                hdf63c60_3
libstdcxx-ng              7.2.0                hdf63c60_3
Mako                      1.0.7                     <pip>
MarkupSafe                1.0                       <pip>
more-itertools            4.2.0                     <pip>
ncurses                   6.1                  hf484d3e_0
nodejs                    8.10.0                        0    conda-forge
oauthenticator            0.7.3                     <pip>
openssl                   1.0.2o                        0    conda-forge
pamela                    0.3.0                     <pip>
pip                       10.0.1                   py36_0
pluggy                    0.6.0                     <pip>
prometheus-client         0.3.0                     <pip>
py                        1.5.4                     <pip>
pyasn1                    0.4.3                     <pip>
pycosat                   0.6.3            py36h0a5515d_0
pycparser                 2.18             py36hf9f622e_1
pyopenssl                 18.0.0                   py36_0
pysocks                   1.6.8                    py36_0
pytest                    3.6.3                     <pip>
python                    3.6.5                hc3d631a_2
python-dateutil           2.7.3                     <pip>
python-editor             1.0.3                     <pip>
python-oauth2             1.1.0                     <pip>
PyYAML                    3.13                      <pip>
readline                  7.0                  ha6073c6_4
requests                  2.19.1                   py36_1    conda-forge
ruamel.yaml               0.15.44                   <pip>
ruamel_yaml               0.15.37          py36h14c3975_2
setuptools                39.2.0                   py36_0
six                       1.11.0           py36h372c433_1
SQLAlchemy                1.2.10                    <pip>
sqlite                    3.23.1               he433501_0
the-littlest-jupyterhub   0.1                       <pip>
tk                        8.6.7                hc745277_3
tornado                   5.1                       <pip>
traitlets                 4.3.2                     <pip>
urllib3                   1.23                     py36_0    conda-forge
wheel                     0.31.1                   py36_0
xz                        5.2.4                h14c3975_4
yaml                      0.1.7                had09818_2
zlib                      1.2.11               ha838bed_2

Details about conda and system ( conda info ):
$ conda info
     active environment : None
       user config file : /root/.condarc
 populated config files :
          conda version : 4.5.8
    conda-build version : not installed
         python version : 3.6.5.final.0
       base environment : /opt/tljh/hub  (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
                          https://repo.anaconda.com/pkgs/pro/linux-64
                          https://repo.anaconda.com/pkgs/pro/noarch
          package cache : /opt/tljh/hub/pkgs
                          /root/.conda/pkgs
       envs directories : /opt/tljh/hub/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/4.5.8 requests/2.19.1 CPython/3.6.5 Linux/4.9.87-linuxkit-aufs ubuntu/18.04 glibc/2.27
                UID:GID : 0:0
             netrc file : None
           offline mode : False

missing 1.26.16 in conda forge

Hi, team,

1.26.16 doesn't seem to have been uploaded to conda forge. It's probably because it was released after 2.0 and the bot ignored it. Could you please add it?

Regards,
Radu

urllib3 2.2.2 not compatible with python 3.7

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Upstream broke Python 3.7 support. Recommend changing recipe to python >= 3.8 and patching repodata.

$ python -c 'import urllib3.contrib.socks'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/ctc/users/opfera/.conda/testenv/lib/python3.7/site-packages/urllib3/contrib/socks.py", line 75, in <module>
    class _TYPE_SOCKS_OPTIONS(typing.TypedDict):
AttributeError: module 'typing' has no attribute 'TypedDict'

Installed packages

_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
brotli-python             1.0.9            py37hd23a5d3_7    conda-forge
ca-certificates           2024.6.2             hbcca054_0    conda-forge
ld_impl_linux-64          2.40                 hf3520f5_7    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 13.2.0              h77fa898_11    conda-forge
libgomp                   13.2.0              h77fa898_11    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libsqlite                 3.46.0               hde9e2c9_0    conda-forge
libstdcxx-ng              13.2.0              hc0a3c3a_11    conda-forge
libzlib                   1.3.1                h4ab18f5_1    conda-forge
ncurses                   6.5                  h59595ed_0    conda-forge
openssl                   3.3.1                h4ab18f5_0    conda-forge
pip                       24.0               pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1            py37h89c1867_5    conda-forge
python                    3.7.12          hf930737_100_cpython    conda-forge
python_abi                3.7                     4_cp37m    conda-forge
readline                  8.2                  h8228510_1    conda-forge
setuptools                69.0.3             pyhd8ed1ab_0    conda-forge
sqlite                    3.46.0               h6d4b2fc_0    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
urllib3                   2.2.2              pyhd8ed1ab_0    conda-forge
wheel                     0.42.0             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge

Environment info

active environment : testenv
    active env location : <privacy snip>
            shell level : 2
       user config file : <privacy snip>
 populated config files : /etc/conda/condarc
                          <privacy snip>
          conda version : 24.5.0
    conda-build version : 24.5.1
         python version : 3.10.12.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=cascadelake
                          __conda=24.5.0=0
                          __glibc=2.17=0
                          __linux=3.10.0=0
                          __unix=0=0
       base environment : <privacy snip>  (writable)
      conda av data dir : <privacy snip>
  conda av metadata url : None
           channel URLs : <privacy snip>
          package cache : <privacy snip>
                          <privacy snip>
       envs directories : <privacy snip>
                          <privacy snip>
                          <privacy snip>
               platform : linux-64
             user-agent : conda/24.5.0 requests/2.31.0 CPython/3.10.12 Linux/3.10.0-1160.114.2.el7.x86_64 rhel/7.9 glibc/2.17 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
                UID:GID : <privacy snip>
             netrc file : None
           offline mode : False

1.21.1-py27_0 package with zero dependencies breaks openssl 1.1.1 resolve

Issue:

The missing (cryptography) package dependencies were rectified in build number 1, but anaconda can actually resolve to build 0 for dependencies.

This means that with Conda-forge in your channel list:

conda create -n test "openssl==1.1.1" "python==2.7.15" "urllib3==1.21.1"
Solving environment: done

## Package Plan ##

  added / updated specs:
    - openssl==1.1.1
    - python==2.7.15
    - urllib3==1.21.1

You will then later get the following error as it tries to dlopen the older lib crypto libs:

VerificationError: importing '/root/.conda/envs/gk_build/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_4ed9e37dx4000d087.so': libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

Without Conda-forge:

conda create -n test "openssl==1.1.1" "python==2.7.15" "urllib3==1.21.1"
Solving environment: failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - openssl==1.1.1
  - urllib3==1.21.1 -> cryptography[version='>=1.3.4'] -> openssl=1.0
Use "conda info <package>" to see the dependencies for each package.

Solution:
Is it possible to delete the offending packages from anaconda cloud? Thanks.

Split into python2.7 and python 3 packages for Windows, at least

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Currently, this package requires the brotlipy package. However, the brotlipy package has a namespace conflict with the brotli-python package, which is used by several other packages. Back in March, urllib3 made a change to stop requiring the brotlipy package, except for Python 2.7 on Windows. I would like to request that this package on conda-forge be split into python 2.7 and 3.x versions (at least for Windows), and that the 3.x version depend on the brotli-python package instead of the brotlipy package.

Installed packages

N/A

Environment info

N/A

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.