{"id":19402689,"url":"https://github.com/cscfi/fairdata-metax","last_synced_at":"2025-04-24T07:32:15.731Z","repository":{"id":64078747,"uuid":"537422177","full_name":"CSCfi/fairdata-metax","owner":"CSCfi","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-19T12:08:39.000Z","size":6829,"stargazers_count":3,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T01:33:49.015Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CSCfi.png","metadata":{"files":{"readme":"README.md","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-16T11:08:20.000Z","updated_at":"2025-02-19T12:08:41.000Z","dependencies_parsed_at":"2023-10-03T17:10:46.076Z","dependency_job_id":"33004efc-ddd5-41cf-8445-33358d27b0d5","html_url":"https://github.com/CSCfi/fairdata-metax","commit_stats":null,"previous_names":[],"tags_count":146,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Ffairdata-metax","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Ffairdata-metax/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Ffairdata-metax/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Ffairdata-metax/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CSCfi","download_url":"https://codeload.github.com/CSCfi/fairdata-metax/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250583013,"owners_count":21453939,"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":[],"created_at":"2024-11-10T11:25:18.522Z","updated_at":"2025-04-24T07:32:15.719Z","avatar_url":"https://github.com/CSCfi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Metax API\n\nThis repository contains the code for Metax API service.\n\n## License\n\nCopyright (c) 2018-2020 Ministry of Education and Culture, Finland\n\nLicensed under [GNU GPLv2 License](LICENSE)\n\n\n## Setting up local development environment\n\nThe recommended way to run the development setup is to use [Docker-swarm setup](/docs/docker-stack.md). You can also set up the development environment with\n[standalone Docker-containers setup](/docs/single-docker-images.md) or local install documented below.\n\n### Python dependencies\n\nInstall [Poetry](https://python-poetry.org/docs/) for your OS. Navigate to the repository root and run command `poetry install`. this will create and activate new Python virtualenv, installing all necessary Python packages to it.\n\n\nYou can generate traditional requirements.txt file with `poetry export --dev -E docs -E swagger --without-hashes -o requirements.txt`\n\n### Managing dependencies\n\n__NOTICE: Please remember to generate the requirements.txt file after any additions, updates or removals using the command above.__\n\nDeveloper dependencies can be added with command `poetry add -D \u003cpackage\u003e`\nApplication dependencies can be added with command `poetry add \u003cpackage\u003e`\n\nDependencies can be updated using `poetry update`. Please notice that this will update all packages and their dependencies, respecting the dependency constraints defined in pyproject.toml \n\nDependencies can be removed with `poetry remove (-D) \u003cpackage\u003e`\n\n### Required environmental variables\n\ncopy `src/metax_api/settings/.env.template` as `src/metax_api/settings/.env` and fill required variables, you can find examples in ENV_VARS.md\n\n### Create log directory \n\n`mkdir -p /var/log/metax-api/errors`\n\n### Initial setup commands\n\nActivate your python 3.8 virtualenv, install requirements with `pip install -r requirements.txt`\n\n`cd` into `src` folder and run following command:\n\n`python manage.py first_time_setup`\n\nstart the development server with:\n\n`python manage.py runserver 8008`\n\nMetax api is available from your browser at http://localhost:8008. To use https refer the [ssl-setup](/docs/local-ssl-setup.md).\n## Running tests\n\nrun the tests with command `DJANGO_ENV=unittests python manage.py test --parallel --failfast --keepdb -v 0`\n\n### Running coverage (Docker)\n\nCollect data: `docker exec -it -e DJANGO_ENV=unittests $(docker ps -q -f name=\"metax-web*\") coverage run manage.py test --parallel`\n\nCombine it: `docker exec -it $(docker ps -q -f name=\"metax-web*\") coverage combine`\n\nReport: `docker exec -it $(docker ps -q -f name=\"metax-web*\") coverage report`\n\n### Generating coverage report\n\ncli-report:`docker exec -it $(docker ps -q -f name=\"metax-web*\") coverage report`\n\n## Running tests\n\nRun all tests with command `DJANGO_ENV=unittests python manage.py test --parallel --failfast`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcscfi%2Ffairdata-metax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcscfi%2Ffairdata-metax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcscfi%2Ffairdata-metax/lists"}