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.4.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: fetchcode-0.4.0.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for fetchcode-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0e53ea601612173e9fcde7155de5512346154681a7119adb8688343bbbaf7806
MD5 1eeb8c4363167d1326fc939f7dad29a0
BLAKE2b-256 7b92ff3d5b26cbeb133df6888e134356b98d2d6ebef93d1323dfdc8306527899

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fetchcode-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a97fe6505045501e8d1efc604bd30a1b55a2260b84e3bcdf928b7b04d7dcd42
MD5 b9d28cc05ed18996ab05332930214ea3
BLAKE2b-256 38764c303fb8e4dd29b0a72915dd74d687cd323ee6836ba7d8cddb080b175eca

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