ckanext-relationship
The extension adds an additional table to the database that stores relationships between entities in the form of triples (subject_id, object_id, relation_type). The relation_type parameter sets the type of relationship: peer-to-peer (related_to <=> related_to) and subordinate (child_of <=> parent_of). Adding, deleting and getting a list of relationships between entities is carried out using actions (relation_create, relation_delete, relations_list). The description of the types of relationships between entities is carried out in the entity schema in the form:
- field_name: related_projects
label: Related Projects
preset: related_entity
current_entity: package
current_entity_type: dataset
related_entity: package
related_entity_type: project
relation_type: related_to
multiple: true
updatable_only: false
required: false
Entity (current_entity, related_entity) - one of three options: package, organization, group.
Entity type (current_entity_type, related_entity_type) - entity customized using ckanext-scheming.
Multiple - toggle the ability to add multiple related entities.
Updatable_only - toggle the ability to add only entities that can be updated by the current user.
Requirements
TODO: For example, you might want to mention here which versions of CKAN this extension works with.
If your extension works across different versions you can add the following table:
Compatibility with core CKAN versions:
| CKAN version | Compatible? |
|---|---|
| 2.9 | yes |
| 2.10 | yes |
Suggested values:
- "yes"
- "not tested" - I can't think of a reason why it wouldn't work
- "not yet" - there is an intention to get it working
- "no"
Installation
TODO: Add any additional install steps to the list below. For example installing any non-Python dependencies or adding any required config settings.
To install ckanext-relationship:
-
Activate your CKAN virtual environment, for example:
. /usr/lib/ckan/default/bin/activate
-
Clone the source and install it on the virtualenv
git clone https://github.com//ckanext-relationship.git cd ckanext-relationship pip install -e . pip install -r requirements.txt
-
Add
relationshipto theckan.pluginssetting in your CKAN config file (by default the config file is located at/etc/ckan/default/ckan.ini). -
Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:
sudo service apache2 reload
Config settings
None at present
TODO: Document any optional config settings here. For example:
# The minimum number of hours to wait before re-checking a resource
# (optional, default: 24).
ckanext.relationship.some_setting = some_default_value
Developer installation
To install ckanext-relationship for development, activate your CKAN virtualenv and do:
git clone https://github.com//ckanext-relationship.git
cd ckanext-relationship
python setup.py develop
pip install -r dev-requirements.txt
Tests
To run the tests, do:
pytest --ckan-ini=test.ini
Releasing a new version of ckanext-relationship
If ckanext-relationship should be available on PyPI you can follow these steps to publish a new version:
-
Update the version number in the
setup.pyfile. See PEP 440 for how to choose version numbers. -
Make sure you have the latest version of necessary packages:
pip install --upgrade setuptools wheel twine
-
Create a source and binary distributions of the new version:
python setup.py sdist bdist_wheel && twine check dist/*Fix any errors you get.
-
Upload the source distribution to PyPI:
twine upload dist/* -
Commit any outstanding changes:
git commit -a git push -
Tag the new release of the project on GitHub with the version number from the
setup.pyfile. For example if the version number insetup.pyis 0.0.1 then do:git tag 0.0.1 git push --tags
License
Metadata
Release files for ckanext-relationship 0.2.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ckanext_relationship-0.2.10.tar.gz | 36.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ckanext_relationship-0.2.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 77.7 kB
Release files / ckanext_relationship-0.2.10.tar.gz
| Download URL | ckanext_relationship-0.2.10.tar.gz |
|---|---|
| Size | 36.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
896c35969feaf46d116c8158a422df32d397513322243d147fbc5000370585ef
|
|
BLAKE2b-256 checksum How to use checksums |
867ac904ad244dc5c696cb60d411760264b0b1003d77638122124009f6d6cbff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.28.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.6 CPython/3.10.12
|
Release files / ckanext_relationship-0.2.10-py3-none-any.whl
| Download URL | ckanext_relationship-0.2.10-py3-none-any.whl |
|---|---|
| Size | 41.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ace1e605af6430ca950e34273ca97d359139fc386fde771af2746990e320e53d
|
|
BLAKE2b-256 checksum How to use checksums |
89a344dbd0ecfca869cbe08a05ed649468a8c0a6ffb9a1cfa60f55dcaf533cfa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.28.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.6 CPython/3.10.12
|
Security for ckanext-relationship 0.2.10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.