{"id":35619730,"url":"https://github.com/scieloorg/kernel-oaipmh","last_synced_at":"2026-01-05T06:03:55.471Z","repository":{"id":43047823,"uuid":"256481350","full_name":"scieloorg/kernel-oaipmh","owner":"scieloorg","description":"Provedor de dados OAI-PMH parte da nova suíte de aplicativos da Metodologia SciELO, baseadas no SciELO Publishing Framework.","archived":false,"fork":false,"pushed_at":"2025-06-12T09:26:07.000Z","size":92,"stargazers_count":0,"open_issues_count":16,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-12T10:35:13.136Z","etag":null,"topics":["scielo-publishing-framework"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scieloorg.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":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-17T11:13:21.000Z","updated_at":"2020-05-14T19:48:20.000Z","dependencies_parsed_at":"2024-07-16T06:46:16.479Z","dependency_job_id":"21e9f222-3b2a-4e34-bb50-ed05da7e797b","html_url":"https://github.com/scieloorg/kernel-oaipmh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scieloorg/kernel-oaipmh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scieloorg%2Fkernel-oaipmh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scieloorg%2Fkernel-oaipmh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scieloorg%2Fkernel-oaipmh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scieloorg%2Fkernel-oaipmh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scieloorg","download_url":"https://codeload.github.com/scieloorg/kernel-oaipmh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scieloorg%2Fkernel-oaipmh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28214410,"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","status":"online","status_checked_at":"2026-01-05T02:00:06.358Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["scielo-publishing-framework"],"created_at":"2026-01-05T06:02:31.779Z","updated_at":"2026-01-05T06:03:55.464Z","avatar_url":"https://github.com/scieloorg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OAI-PMH Data Provider\n\nProvedor de dados OAI-PMH parte da suíte de aplicativos da Metodologia SciELO\n(_SciELO Publishing Framework_).\n\nPrincipais objetivos:\n\n* Suportar por completo o protocolo [OAI-PMH versão 2.0](https://www.openarchives.org/OAI/openarchivesprotocol.html);\n* Distribuir [XMLs SciELO PS](https://scielo.readthedocs.io/projects/scielo-publishing-schema/) (JATS);\n* Flexibilidade na criação de novos _sets_ e formatos de metadados;\n* Integração com o _Kernel_, considerado fonte autoritativa dos dados da coleção.\n\nPara mais informação sobre a nova arquitetura de sistemas de informação da\nMetodologia SciELO consulte https://docs.google.com/document/d/14YBl7--4ouaWBQhxzUYWRuhmegwnSYrDgupsED6rhvM/edit?usp=sharing\n\n\n## Requisitos\n\n* Python 3.7\n* MongoDB\n\n\n## Implantação local\n\nConfigurando a aplicação:\n\n\ndiretiva no arquivo .ini         | variável de ambiente             | valor padrão\n---------------------------------|----------------------------------|--------------------\noaipmh.mongodb.dsn               | OAIPMH_MONGODB_DSN               | mongodb://db:27017\noaipmh.mongodb.dbname            | OAIPMH_MONGODB_DBNAME            | oaipmh\noaipmh.mongodb.replicaset        | OAIPMH_MONGODB_REPLICASET        |\noaipmh.mongodb.readpreference    | OAIPMH_MONGODB_READPREFERENCE    | secondaryPreferred\noaipmh.repo.name                 | OAIPMH_REPO_NAME                 | SciELO - Scientific Electronic Library Online\noaipmh.repo.baseurl              | OAIPMH_REPO_BASEURL              | http://www.scielo.br/oai/scielo-oai.php\noaipmh.repo.protocolversion      | OAIPMH_REPO_PROTOCOLVERSION      | 2.0\noaipmh.repo.adminemails          | OAIPMH_REPO_ADMINEMAILS          | scielo@scielo.org\noaipmh.repo.deletedrecord        | OAIPMH_REPO_DELETEDRECORD        | no\noaipmh.repo.granularity          | OAIPMH_REPO_GRANULARITY          | YYYY-MM-DDThh:mm:ssZ\noaipmh.repo.compression          | OAIPMH_REPO_COMPRESSION          | identity\noaipmh.resumptiontoken.batchsize | OAIPMH_RESUMPTIONTOKEN_BATCHSIZE | 100\noaipmh.site.baseurl              | OAIPMH_SITE_BASEURL              | https://www.scielo.br\n\n\nA configuração padrão assume o uso de uma instância *standalone* do MongoDB. Para\numa instância de produção recomenda-se o uso de *replica sets*. Para mais detalhes\nacesse https://docs.mongodb.com/manual/replication/.\n\nAo conectar-se a um *replica set*, a diretiva `oaipmh.mongodb.replicaset`\ndeve ser definida com o nome do *replica set*. Além disso, é possível informar os diversos\n*seeds* do *replica set* por meio da diretiva `oaipmh.mongodb.dsn`,\nseparando suas URIs com espaços em branco ou quebra de linha.\n\n\nConfigurações avançadas:\n\n\nvariável de ambiente    | valor padrão\n------------------------|-------------\nOAIPMH_MAX_RETRIES      | 4\nOAIPMH_BACKOFF_FACTOR   | 1.2\nOAIPMH_HTTP_REQ_TIMEOUT | 5\n\n\n### Executando via código-fonte e Pip:\n\n```bash\n$ git clone https://github.com/scieloorg/kernel-oaipmh.git\n$ cd kernel-oaipmh\n$ pip install -r requirements.txt \u0026\u0026 python setup.py develop\n$ pserve development.ini\n```\n\nEsta configuração espera uma instância de MongoDB escutando *localhost* na\nporta *27017*.\n\nNa primeira vez será necessário criar os índices do banco de dados. Para tal\nexecute o comando `oaipmhctl create-indexes`*`mongo-db-dsn dbname`*. Exemplo:\n\n```bash\n$ oaipmhctl create-indexes mongodb://localhost:27017 oaipmh\n```\n\n\nPara sincronizar o banco de dados da aplicação com o de uma instância do\n_Kernel_, execute o comando `oaipmhctl sync`*`source-url mongo-db-dsn dbname`*. Exemplo:\n\n```bash\n$ oaipmhctl sync http://my-kernel:6543 mongodb://localhost:27017 oaipmh\n```\n\n\n### Executando via Docker:\n\n`$ docker-compose up -d`\n\nNa primeira vez será necessário criar os índices do banco de dados e\nsincronizar o banco de dados:\n\n`$ docker-compose exec webapp_oaipmh oaipmhctl create-indexes`*`mongo-db-dsn dbname`*\n\n`$ docker-compose exec webapp_oaipmh oaipmhctl sync`*`source-url mongo-db-dsn dbname`*\n\n\nA sincronização deverá ser executada periodicamente, de forma a manter o provedor\nde dados OAI-PMH sincronizado com a fonte autoritativa de dados. O utilitário de\nsincronização cuidará das informações relativas ao estado da sincronização, de\nforma que o usuário não necessitará controlar _timestamps_ ou coisas do tipo.\n\n\nPara testar se a instância foi instalada corretamente basta executar:\n\n```bash\ncurl -X GET http://0.0.0.0:6543/?verb=Identify\n```\n\n\n## Licença de uso\n\nCopyright 2020 SciELO \u003cscielo-dev@googlegroups.com\u003e. Licensed under the terms\nof the BSD license. Please see LICENSE in the source code for more\ninformation.\n\nhttps://github.com/scieloorg/kernel-oaipmh/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscieloorg%2Fkernel-oaipmh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscieloorg%2Fkernel-oaipmh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscieloorg%2Fkernel-oaipmh/lists"}