Skip to main content

fetchcode is a library to reliably fetch code via HTTP, FTP and version control systems.

Project description

FetchCode is a library to reliably fetch code via HTTP, FTP and version control systems. It can work using plain HTTP and FTP URLs, as well as Package URLs and version control (VCS) URLs as used in Python pip and as specified in SPDX Package Download Location

Homepage and support: https://github.com/nexB/fetchcode

Why FetchCode?

It is surprisingly difficult to have a simple API to consistently fetch code from package repositories, version control repositories and APIs: each site and each package manager has its own unique and peculiar ways. FetchCode goal is to abstract all these details and make it easy to fetch things reliably.

Development installation

Clone the repo:

git clone https://github.com/nexB/fetchcode

Then install all the requirements using:

configure --dev

Running tests

To run test suite use:

pytest -vvs

Usage

Fetch a code archive and get a fetchcode.fetch.Response object back:

>>> from fetchcode import fetch
>>> f = fetch('https://github.com/nexB/fetchcode/archive/ab65b2e645c889887227ea49eb3332d885fd0a54.zip')
>>> f.location
'/tmp/tmp_cm02xsg'
>>> f.content_type
'application/zip'
>>> f.url
'https://github.com/nexB/fetchcode/archive/ab65b2e645c889887227ea49eb3332d885fd0a54.zip'

Fetch some package metadata and get a fetchcode.packagedcode_models.Package object back:

>>> from fetchcode import package
>>> list(package.info('pkg:rubygems/files'))
[Package(type='rubygems', namespace=None, name='files', version=None)]

License

  • SPDX-License-Identifier: Apache-2.0

Copyright (c) nexB Inc. and others.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fetchcode-0.3.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

fetchcode-0.3.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file fetchcode-0.3.0.tar.gz.

File metadata

  • Download URL: fetchcode-0.3.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for fetchcode-0.3.0.tar.gz
Algorithm Hash digest
SHA256 64079197efa245f2b2f80ca4903e0a35a60479c6c0355561f2895f0f85299ebc
MD5 ea6898911ca64c423616e586cc82d906
BLAKE2b-256 5ba09ff5578f91e4ad7c540907581f670fc73a378726c0b5df4f1d0541fa0b25

See more details on using hashes here.

File details

Details for the file fetchcode-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: fetchcode-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for fetchcode-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2de69dc6ed481badf53e1861cc3abb6796b8c7553e23ce57963a19d9ab466098
MD5 75ed34997a7112fa579e255dcc18a665
BLAKE2b-256 8dfbe45da0abf63504c3f88ad02537dc9dc64ea5206b09ce29cfb8191420d678

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page