Skip to main content

Apify API client for Python

Project description

Apify API client for Python

This is an official client for the Apify API. It's still a work in progress, so please don't use it yet in production environments!

Installation

Requires Python 3.7+

You can install the client from its PyPI listing. To do that, simply run pip install apify-client in your terminal.

Usage

For usage instructions, check the documentation on Apify Docs or in docs/docs.md.

Development

Environment

For local development, it is required to have Python 3.7 installed.

It is recommended to set up a virtual environment while developing this package to isolate your development environment, however, due to the many varied ways Python can be installed and virtual environments can be set up, this is left up to the developers to do themselves.

One recommended way is with the builtin venv module:

python3 -m venv .venv
source .venv/bin/activate

To improve on the experience, you can use pyenv to have an environment with a pinned Python version, and direnv to automatically activate/deactivate the environment when you enter/exit the project folder.

Dependencies

To install this package and its development dependencies, run pip install -e '.[dev]'

Formatting

We use autopep8 and isort to automatically format the code to a common format. To run the formatting, just run ./format.sh.

Linting and Testing

We use flake8 for linting, mypy for type checking and pytest for unit testing. To run these tools, just run ./lint_and_test.sh.

Documentation

We use the Google docstring format for documenting the code. We document every user-facing class or method, and enforce that using the flake8-docstrings library.

The documentation is then rendered from the docstrings in the code using Sphinx and some heavy post-processing and saved as docs/docs.md. To generate the documentation, just run ./build_docs.sh.

Release process

Publishing new versions to PyPI happens automatically through GitHub Actions.

On each commit to the master branch, a new beta release is published, taking the version number from src/apify_client/_version.py and automatically incrementing the beta version suffix by 1 from the last beta release published to PyPI.

A stable version is published when a new release is created using GitHub Releases, again taking the version number from src/apify_client/_version.py. The built package assets are automatically uploaded to the GitHub release.

If there is already a stable version with the same version number as in src/apify_client/_version.py published to PyPI, the publish process fails, so don't forget to update the version number before releasing a new version. The release process also fails when the released version is not described in CHANGELOG.md, so don't forget to describe the changes in the new version there.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

apify_client-0.5.1a1.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

apify_client-0.5.1a1-py3-none-any.whl (56.6 kB view details)

Uploaded Python 3

File details

Details for the file apify_client-0.5.1a1.tar.gz.

File metadata

  • Download URL: apify_client-0.5.1a1.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for apify_client-0.5.1a1.tar.gz
Algorithm Hash digest
SHA256 f79d0a98aa19e4576d0bf2b97065e1b1dc30e6b9b00d816bf806c02f80bb0c47
MD5 8765fb586b97b902015587eb9f54b4c8
BLAKE2b-256 5c4183c2b7e33f795f3dab2c0e6e89dd720189fc18628f0533bcdf2b77fe220b

See more details on using hashes here.

File details

Details for the file apify_client-0.5.1a1-py3-none-any.whl.

File metadata

  • Download URL: apify_client-0.5.1a1-py3-none-any.whl
  • Upload date:
  • Size: 56.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for apify_client-0.5.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 143754e883ba371d44a91eb21d1467b25e48f07c90fd3f49a652cfdb57d49369
MD5 de4f6adcdd1d4ebdc7c1b0a3dcee1b84
BLAKE2b-256 d66110384ffc0dc9dd19743585981a8a0a6c5361a1f36239f8ac7a46027ce6e4

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