Skip to main content

A PythonAnywhere API wrapper.

https://travis-ci.org/cfc603/pythonanywhere-wrapper.png?branch=master https://codecov.io/github/cfc603/pythonanywhere-wrapper/coverage.svg?branch=master

Usage

from pythonanywhere_wrapper.client import PythonAnywhere

# If running on a PythonAnywhere terminal, your token and username will
# be discovered automatically. Be sure to setup your API_TOKEN first.

# For information on setting up your API_TOKEN visit
# http://help.pythonanywhere.com/pages/API
API_TOKEN = "test-token"

# Your PythonAnywhere Username
USER = "test-user"

client = PythonAnywhere(api_key=API_TOKEN, user=USER)

Endpoints

Consoles:

# List all your consoles
response = client.consoles()

# View consoles shared with you
response = client.consoles.shared_with_you()

# Get console by id
response = client.consoles(console_id=123456)

# Kill a console by id
response = client.consoles.delete(console_id=123456)

Files:

# Start sharing a file
response = client.files.sharing.create(data={"path": "/path/to/file"})

# Get sharing status by path
response = client.files.sharing(path="/path/to/file")

# Stop sharing a file
response = client.files.sharing.delete(path="/path/to/file")

# List contents of a directory and subdirectories
response = client.files.tree(path="/path/to/directory")

Webapps:

# List all webapps
response = client.webapps()

# Create a new webapp
response = client.webapps.create(data={
        "domain_name": "username.pythonanywhere.com",
        "python_version": "python27",
    })

# Get webapp by domain name
response = client.webapps(domain_name="username.pythonanywhere.com")

# Modify config of a webapp. Follow with reloading webapp.
response = client.webapps.update(
    domain_name="username.pythonanywhere.com", data={
        "python_version": "3.6",
        "virtualenv_path": "/path/to/virtualenv",
    }
)

# Delete webapp by domain name
response = client.webapps.delete(domain_name="username.pythonanywhere.com")

# Reload webapp
response = client.webapps.reload(domain_name="username.pythonanywhere.com")

Static Files:

# List all static files mappings for a domain
response = client.webapps.static_files(
    domain_name="username.pythonanywhere.com"
)

# Create a new static file mapping for a domain. Reload webapp required.
response = client.webapps.static_files.create(
    domain_name="username.pythonanywhere.com", data={
        "url": "/static/", "path": "/path/to/static/dir"
    }
)

# Get static file mapping by id
response = client.webapps.static_files(
    domain_name="username.pythonanywhere.com", static_id=123
)

# Modify a static file mapping. Reload webapp required.
response = client.webapps.static_files.update(
    domain_name="username.pythonanywhere.com", static_id=123, data={
        "url": "/static/", "path": "/path/to/static/dir"
    }
)

# Delete a static file mapping by id. Reload webapp required.
response = client.webapps.static_files.delete(
    domain_name="username.pythonanywhere.com", static_id=123
)

Credit

This application uses Open Source components. You can find the source code of their open source projects along with license information below. We acknowledge and are grateful to these developers for their contributions to open source.

Project:

chargify-python https://github.com/stevenwei/chargify-python

Copyright:

Copyright (c) 2010 Hindsight Labs

License:

(MIT) https://github.com/stevenwei/chargify-python/blob/master/LICENSE

History

UNRELEASED

0.3.1 (2020-12-19)

  • fixes PyPi upload error, Issue #6

0.3.0 (2020-12-19)

  • drop support for python 2, add 3.7, 3.8, and 3.9.

0.2.0 (2017-10-21)

  • name change from pythonanywhere to pythonanywhere-wrapper

  • Add history

0.1.1

  • Add attribution for chargify-python

0.1.0

  • Initial release on PyPI

Release files for pythonanywhere-wrapper 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pythonanywhere-wrapper 0.3.1
File Size Uploaded
pythonanywhere-wrapper-0.3.1.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pythonanywhere-wrapper 0.3.1
File Interpreter ABI Platform
pythonanywhere_wrapper-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.7 kB

Release files / pythonanywhere-wrapper-0.3.1.tar.gz

Download URL pythonanywhere-wrapper-0.3.1.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e274a538579695ebdb4dc4b6c5067f5ce74bec667d13b833fa9d509a4e90e0d8
BLAKE2b-256 checksum
How to use checksums
35a4c8c6369caa93b23c225620b0e8047ec11fd7d8b1b174b5e83ee6526ea966
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

Release files / pythonanywhere_wrapper-0.3.1-py3-none-any.whl

Download URL pythonanywhere_wrapper-0.3.1-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e40332a991e484b7803d153bc26abc0879f0adc72f09ed40bc2a552d2585de69
BLAKE2b-256 checksum
How to use checksums
35d0dedd2285dbb67c0315319873a953afeb556f1072bc5866b217155c9c74a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page