{"id":16330110,"url":"https://github.com/rmax/anaconda-manylinux-builder","last_synced_at":"2026-05-02T03:08:47.058Z","repository":{"id":136717913,"uuid":"81262677","full_name":"rmax/anaconda-manylinux-builder","owner":"rmax","description":"Scripts to build manylinux wheels in Travis CI and upload them in Anaconda.org","archived":false,"fork":false,"pushed_at":"2017-02-18T08:00:34.000Z","size":19,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-15T09:14:54.669Z","etag":null,"topics":["packaging","python","wheels"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rmax.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-07T22:45:46.000Z","updated_at":"2025-02-22T09:20:33.000Z","dependencies_parsed_at":"2023-07-10T00:33:03.658Z","dependency_job_id":null,"html_url":"https://github.com/rmax/anaconda-manylinux-builder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rmax/anaconda-manylinux-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmax%2Fanaconda-manylinux-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmax%2Fanaconda-manylinux-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmax%2Fanaconda-manylinux-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmax%2Fanaconda-manylinux-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rmax","download_url":"https://codeload.github.com/rmax/anaconda-manylinux-builder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmax%2Fanaconda-manylinux-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32521137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["packaging","python","wheels"],"created_at":"2024-10-10T23:18:31.819Z","updated_at":"2026-05-02T03:08:47.044Z","avatar_url":"https://github.com/rmax.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"==========================\nAnaconda-Manylinux builder\n==========================\n\nThis repository contains scripts that helps building manylinux wheels and\nupload them to `Anaconda.org`_. `Anaconda.org`_ allows you to host `Conda`_\npackages as well other packages types like wheels. By default builds Manylinux\nwheels for Python 3.5 and Python 3.6.\n\n**How does it work?** We use `Travis CI`_ to build `Manylinux`_ wheels and\nupload them to `Anaconda.org`_.\n\n**Why wheels?** Wheels is a convenient format for fast and offline deployments. If\nyou are not convinced, watch this great presentation: `Shipping Software to Users\nWith Python \u003chttps://www.youtube.com/watch?v=5BqAeN-F9Qs\u003e`_\n\n**Why Anaconda.org?** I'm a fan of `Conda`_ but in my day to day work the\ndeployment is done via standard python packaging tools (that is ``pip``).\nHosting wheels in `Anaconda.org`_ is very convenient to distribute wheels for\nspecific packages versions to developers and build systems. The alternative is\nto build a static index and host it somewhere (i.e. S3).\n\nHow to use this repository\n==========================\n\nIn order to upload packages to `Anaconda.org`_ you need to create an account\nand use the ``anaconda-client`` package which is available via the `Conda`_\npackage manager.\n\nOnce you have an account and the ``anaconda-client`` package installed, run the\nfollowing command::\n\n  anaconda auth --create scopes 'api:write pypi:upload' -n travis-upload\n\nFollow the instructions and copy the token which looks like ``ab-0a2c3d4d-a4d4d4d4``.\n\nSetting up your repository\n--------------------------\n\n1. Fork this repository.\n2. Enable `Travis CI`_ for your repository.\n3. Edit the settings for your project in `Travis CI`_ and add the secure\n   variables ``ANACONDA_TOKEN`` and ``ANACONDA_USER`` with your authorization\n   token and `Anaconda.org`_ username, respectively.\n4. Disable builds for pull requests. Unless you want anybody to\n   publish packages to your account.\n  \n\nBuilding packages\n-----------------\n1. Create a branch. The branch name will be used as a label in `Anaconda.org`_.\n2. Update the ``requirements.txt`` file. Optionally, update the\n   ``requirements-build.txt`` file.\n3. Push your branch.\n\nAfter a few minutes, your packages will be uploaded to your `Anaconda.org`_\naccount: ``https://anaconda.org/\u003cusername\u003e``.\n\nInstalling the packages\n-----------------------\n\nYou can use the following command to install packages from `Anaconda.org`_::\n\n  pip install -i https://pypi.anaconda.org/\u003cusername\u003e/label/\u003cbranch\u003e/simple \u003cpackage\u003e\n\nIf you use a requirements file, you can use the ``--extra-index-url`` parameter\nto automatically search for packages in your `Anaconda.org`_ account::\n\n  # requirements.txt\n  --extra-index-url https://pypi.anaconda.org/\u003cusername\u003e/label/\u003cbranch\u003e/simple\n  package1\n  package2\n\nTroubleshooting\n---------------\n\nBuilding may fail if the package requires compilation and depends on libraries\nnot installed on the system. For example, if the package depends on\n``libffi`` you need to install the library and optionally set the proper\ncompilation flags, that is, edit ``build-setup.sh`` with the following\ncontent::\n\n  yum install -y libffi-devel\n\n  export CFLAGS=\"${CFLAGS} $(pkg-config --cflags-only-I libffi)\"\n\nAdditionaly you can debug the package building by starting the docker container\nand interacting directly with the system::\n\n  docker run -it --rm -v $PWD:/io -w /io quay.io/pypa/manylinux1_x86_64 bash\n\nIf you don't want to use manylinux wheels you can customize the build image in\nthe ``.travis.yml`` file and use ``scripts/build-wheels.sh`` rather than\n``scripts/build-manylinux-wheels.sh``. You can also change the\n``PYTHON_PREFIXES`` variable to target other python versions for manylinux wheels.\n\nCaveats\n-------\n\nNot all packages can be converted into manylinux wheels. One example is\n``cryptography`` which fails with an ``ImportError``. If you have this issue\nyou can either:\n\n* Build non-manylinux wheels in your target docker image so you ensure wheel\n  compatibility.\n* Remove the package from your ``requirements.txt`` to avoid building it as\n  wheel.\n* Or remove the package from `Anaconda.org`_. This in case the package is a\n  sub-dependency.\n\nAcknowledgements\n----------------\n\n* `Continuum`_ is the company behind `Anaconda.org`_, `Conda`_ and other\n  amazing python packages.\n* `Manylinux`_ is the project with the goal to provide an convenient way to\n  distribute binary packages as wheels.\n\n\n.. _Anaconda.org: https://anaconda.org\n.. _Conda: https://conda.io/docs/\n.. _Travis CI: https://travis-ci.org/\n.. _Continuum: https://continuum.io\n.. _Manylinux: https://github.com/pypa/manylinux\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmax%2Fanaconda-manylinux-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmax%2Fanaconda-manylinux-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmax%2Fanaconda-manylinux-builder/lists"}