{"id":25740155,"url":"https://github.com/datadotworld/ckanext-datadotworld","last_synced_at":"2025-05-08T21:14:41.098Z","repository":{"id":80840528,"uuid":"87345946","full_name":"datadotworld/ckanext-datadotworld","owner":"datadotworld","description":"CKAN extension for data.world","archived":false,"fork":false,"pushed_at":"2023-12-05T05:20:35.000Z","size":165,"stargazers_count":12,"open_issues_count":3,"forks_count":9,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-05-08T21:14:32.496Z","etag":null,"topics":["ckan","ckan-extension","ckanext","datasets","dwstruct-t50-public-projects","open-data","reference-implementation"],"latest_commit_sha":null,"homepage":"https://data.world/integrations/ckan","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datadotworld.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-05T18:59:02.000Z","updated_at":"2025-04-01T21:34:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"3c526015-b104-4ba1-acb1-0b2df179c6ea","html_url":"https://github.com/datadotworld/ckanext-datadotworld","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datadotworld%2Fckanext-datadotworld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datadotworld%2Fckanext-datadotworld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datadotworld%2Fckanext-datadotworld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datadotworld%2Fckanext-datadotworld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datadotworld","download_url":"https://codeload.github.com/datadotworld/ckanext-datadotworld/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253149618,"owners_count":21861740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ckan","ckan-extension","ckanext","datasets","dwstruct-t50-public-projects","open-data","reference-implementation"],"created_at":"2025-02-26T08:36:47.634Z","updated_at":"2025-05-08T21:14:41.079Z","avatar_url":"https://github.com/datadotworld.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=============\nckanext-datadotworld\n=============\n\nWith this extension enabled, the manage view for organizations is provided with the additional tab\n`data.world`. Within the data.world tab organization admins can specify syncronization options that will apply for that organization.\n\n------------------\nSupported versions\n------------------\n\nCKAN version 2.4 or greater (including 2.7).\n\nAll versions support celery backend, but version 2.7 will use RQ.\nThere are no changes required to use new backend - just start\nit using::\n\n\tpaster --plugin=ckan jobs worker -c /config.ini\n\ninstead of::\n\n\tpaster --plugin=ckan celeryd run -c /config.ini\n\nDetails at http://docs.ckan.org/en/latest/maintaining/background-tasks.html\n\n------------\nInstallation\n------------\n\nTo install ckanext-datadotworld:\n\n1. Activate your CKAN virtual environment, for example::\n\n\t. /usr/lib/ckan/default/bin/activate\n\n2.  If you already have an older version of this extension, remove it first::\n\n      pip uninstall -y ckanext-datadotworld\n\n    Install the ckanext-datadotworld Python package into your virtual environment::\n\n\tpip install git+https://github.com/datadotworld/ckanext-datadotworld\n\n\n3. Add ``datadotworld`` to the ``ckan.plugins`` setting in your CKAN config file (by default the config file is located at ``/etc/ckan/default/production.ini``).\n\n4. Create DB tables::\n\n\tpaster --plugin=ckanext-datadotworld datadotworld init -c /config.ini\n\tpaster --plugin=ckanext-datadotworld datadotworld upgrade -c /config.ini\n\n5. Start celery daemon either with suprevisor or using paster::\n\n\tpaster --plugin=ckan celeryd run -c /config.ini\n\n\n---------------\nConfig Settings\n---------------\n\nAttempts to push failed datasets can be scheduled by adding the following line to cron::\n\n\t* 8 * * * paster --plugin=ckanext-datadotworld datadotworld push_failed -c /config.ini\n\nA similar solution enables syncronization with remote (i.e. not uploaded) resources with data.world::\n\n\t* 8 * * * paster --plugin=ckanext-datadotworld datadotworld sync_resources -c /config.ini\n\n\n**Delay option**\n \nThere is a 1 second delay configured by default. This delay period can be controlled by modifying the \"ckan.datadotworld.request_delay\" configuration variable within the CKAN ini file.\n \nFor example:\n \n      ckan.datadotworld.request_delay = 1\n \nTo ensure that the delay will work correctly, you also need to configure Celery to work in single thread mode. To do this, add the following flag to the Celery start command:\n \n      --concurrency=1\n \nDetails at http://celery.readthedocs.io/en/latest/userguide/workers.html#concurrency.\n\n\n-----------------\nTemplate snippets\n-----------------\n\nIn order to add data.world banner on dataset page(currently it seats at the top of `package_resources` block)\nyou may add next snippet to template with `datadotworld_extras` variable that contains object(model) with\ncurrently viewed package's datadotworld extras and `org_id` - owner organization of viewed packaged::\n\n  {% snippet 'snippets/datadotworld/banner.html', org_id=pkg.owner_org, datadotworld_extras=c.pkg.datadotworld_extras %}\n\nSidebar label may be added by placing next snippet to your template(`org_id` is ID of viewed organization)::\n\n    {% snippet 'snippets/datadotworld/label.html', org_id=organization.id %}\n\n\n------------------------\nDevelopment Installation\n------------------------\n\nTo install ckanext-datadotworld for development, activate your CKAN virtualenv and\ndo the following::\n\n\tgit clone https://github.com/datadotworld/ckanext-datadotworld.git\n\tcd ckanext-datadotworld\n\tpython setup.py develop\n\tpaster datadotworld init -c /config.ini\n\n\n-----------------\nRunning the Tests\n-----------------\n\nMake sure you follow the CKAN testing guide (http://docs.ckan.org/en/latest/contributing/test.html).\nTo run the tests, do the following::\n\n    nosetests --ckan --nologcapture --with-pylons=test.ini\n\nTo run the tests and produce a coverage report, first make sure you have coverage installed in your virtualenv (``pip install coverage``) then run::\n\n    nosetests --ckan --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.datadotworld --cover-inclusive --cover-erase --cover-tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatadotworld%2Fckanext-datadotworld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatadotworld%2Fckanext-datadotworld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatadotworld%2Fckanext-datadotworld/lists"}