Skip to main content

Python module for interacting with VIAF data & APIs

Project description

VIAF via Python

Python module for interacting with VIAF (the Virtual International Authority File) data and APIs.

viapy provides optional Django integration; this currently includes a django-autocomplete-light lookup view and a VIAF url widget.

Build status Code coverage Requirements Status CodeFactor PyPI - Python Version PyPI - Django Version

Installation

Use pip to install from GitHub. Use a branch or tag name, e.g. @develop or @1.0 if you want to install a specific tagged release or branch:

pip install git+https://github.com/Princeton-CDH/viapy.git@develop#egg=viapy

Configuration for use with Django

Using viapy with Django requires additional configuration. Add viapy to installed applications along with the needed django-autocomplete-light modules:

INSTALLED_APPS = (
    ...
    'dal',
    'dal_select2',
    'viapy',
    ...
)

Include the viapy urls at the desired base url with the namespace:

urlpatterns = [
    ...
    path(r'viaf/', include('viapy.urls', namespace='viaf')),
    ...
]

Development instructions

This git repository uses git flow branching conventions.

Initial setup and installation:

  • Recommended: create and activate a python 3.11 virtualenv:

    python3 -m venv viapy
    source viapy/bin/activate
  • pip install the package with all development and test dependencies:

    pip install -e ".[dev]""

Unit Testing

Unit tests are set up to be run with py.test

  • Copy sample test settings and add a SECRET_KEY:

    cp ci/testsettings.py testsettings.py
  • To run the tests, either use the configured setup.py test command:

    python setup.py test
  • Or install test requirements and use py.test directly:

    pip install -e '.[test_all]'
    py.test

Documentation

Documentation is generated using sphinx. To generate documentation, first install development requirements:

pip install -e ".[dev]"

Then build the documentation using the customized make file in the docs directory:

cd sphinx-docs
make html

When building documentation for a production release, use make docs to update the published documentation on GitHub Pages.

License

viapy is distributed under the Apache 2.0 License.

©2024 Trustees of Princeton University. Permission granted via Princeton Docket #18-3449-1 for distribution online under a standard Open Source license. Ownership rights transferred to Rebecca Koeser provided software is distributed online via open source.

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

viapy-0.3.0.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

viapy-0.3.0-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viapy-0.3.0.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for viapy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ebfe78ef4b1901cb68b4473d5c8beb738835f8c1f2d709ce503521c0d97118fd
MD5 dc83413d5168e2b9a5da3ea6b688a8a5
BLAKE2b-256 0937b67713e5b5ad032e8fe83477c906187079c5dc8a23245f2ce92826a648e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: viapy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for viapy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81e9b8d0ce62a2255691bf25f4a486a9c031c9f9d5d9134053aab2489b5fc1c6
MD5 172b61eff8478fe5948b30d62ee382e3
BLAKE2b-256 0d263be04591028d512c0789821c035884dae13e0df796ed7cb52a626dd3fcf3

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