Skip to main content

Base package for the APIS framework

Project description

APIS

Django Tests GitHub release (with filter)

The Austrian Prosophographic Information System is a Django based prosopography framework. It allows to create web applications to manage both entities and relations between entities. It provides API access to the data in various formats and creates swagger defintions. A swagger-ui allows for comfortable access to the data.

Data can also be imported from remote resources described in RDF.

In addition to this configurable import of data via RDF, there is also an configurable serialization of data. The generic RestAPI of APIS provides data either in the internal JSON format, TEI or RDF (serialized with CIDOC CRM).

APIS comes with a built in system of autocompletes that allows researchers to import meta-data of entities with just a single click. Out of the box APIS supports Stanbol as a backend for the autocompletes, but the system is rather easy to adapt to any Restfull API. APIS also supports the parsing of RDFs describing entities into an entity. The parsing is configured in a settings file.

Entities

Relations

Licensing

All code unless otherwise noted is licensed under the terms of the MIT License (MIT). Please refer to the file LICENSE.txt in the root directory of this repository.

All documentation and images unless otherwise noted are licensed under the terms of Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/

APIS contains the "Material Symbols" font(commit ace1af0), which is licensed under the Apache License Version 2.0. The Swagger Logo in core/static/img comes from wikimedia commons and is licensed under the Creative Commons Attribution-Share Alike 4.0 International license The Git Logo in core/static/img comes from the git scm website ans is licensed under the Creative Commons Attribution 3.0 Unported License.

Installation

Create a project using your favorite package manager:

poetry new foobar-repository

In your project folder, add apis as a dependency (replace RELEASE_VERSION with the version you want to install):

poetry add git+https://github.com/acdh-oeaw/apis-core-rdf#RELEASE_VERSION

Now remove the generated __init__.py (because django-admin wants to be the one that creates that) and setup your Django project

rm -f foobar_repository/__init__.py
poetry run django-admin startproject foobar_repository .

Now start using your Django project

poetry run ./manage.py runserver

To use the APIS framework in your application, you will need to add the following dependencies to INSTALLED_APPS:

INSTALLED_APPS = [
    # our main app, containing the ontology (in the `models.py`)
    # and our customizations
    "sample_project",
    # `apis_override_select2js` is a workaround for APIS'
    # handling of autocomplete forms. It should be listed
    # at the beginning of the list, to make sure the
    # files shipped with it are served in precedence.
    "apis_override_select2js",
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    # ui stuff used by APIS
    "crispy_forms",
    "crispy_bootstrap4",
    "django_filters",
    "django_tables2",
    "dal",
    "dal_select2",
    # REST API
    "rest_framework",
    # swagger ui generation
    "drf_spectacular",
    # The APIS apps
    "apis_core.core",
    "apis_core.generic",
    "apis_core.apis_metainfo",
    "apis_core.apis_relations",
    "apis_core.apis_entities",
    # apis_vocabularies is deprecated, but there are
    # still migrations depending on it - it will be dropped
    # at some point
    "apis_core.apis_vocabularies",
    # APIS collections provide a collection model similar to
    # SKOS collections and allow tagging of content
    "apis_core.collections",
    # APIS history modules tracks changes of instances over
    # time and lets you revert changes
    "apis_core.history",
]

Finally, add the APIS urls to your applications URL Dispatcher

urlpatterns = [
    path("", include("apis_core.urls", namespace="apis")),
    # https://docs.djangoproject.com/en/5.0/topics/auth/default/#module-django.contrib.auth.views
    path("accounts/", include("django.contrib.auth.urls")),
    # https://docs.djangoproject.com/en/5.0/ref/contrib/admin/#hooking-adminsite-to-urlconf
    path("admin/", admin.site.urls),
]

Now you should be ready to roll. Start creating your entities in you apis_ontology/models.py.

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

apis_core_rdf-0.31.1.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

apis_core_rdf-0.31.1-py3-none-any.whl (3.3 MB view details)

Uploaded Python 3

File details

Details for the file apis_core_rdf-0.31.1.tar.gz.

File metadata

  • Download URL: apis_core_rdf-0.31.1.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for apis_core_rdf-0.31.1.tar.gz
Algorithm Hash digest
SHA256 67b34bfe62c7a652099d886a10f513bba4335938e5e3dc476d41442669a6d3e0
MD5 00fb642bc7f16b16dd84d39f3b60a7d1
BLAKE2b-256 3a2c30e5d798a6aea1ccd53f35d10aa4b6e5098ca94ae75d7158e8e638aaed6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for apis_core_rdf-0.31.1.tar.gz:

Publisher: publish.yml on acdh-oeaw/apis-core-rdf

Attestations:

File details

Details for the file apis_core_rdf-0.31.1-py3-none-any.whl.

File metadata

File hashes

Hashes for apis_core_rdf-0.31.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0a473788eb2ec44604eb0679de4c4e9c505373b6f74d23632a766cae5209070
MD5 5e6fe31e7c35ba0f20cfb8016ab5afdb
BLAKE2b-256 bceb0d2310fd8171741684d8a4285288a697a1f3c1432c77a530c9c341824766

See more details on using hashes here.

Provenance

The following attestation bundles were made for apis_core_rdf-0.31.1-py3-none-any.whl:

Publisher: publish.yml on acdh-oeaw/apis-core-rdf

Attestations:

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