1
0
mirror of https://github.com/ilri/dspace-statistics-api.git synced 2025-02-19 16:26:23 +01:00

39 lines
1.4 KiB
Markdown
Raw Normal View History

# DSpace Statistics API
2018-09-27 09:12:52 +03:00
A simple REST API to expose Solr view and download statistics for items in a DSpace repository. This project contains a standalone indexing component and a WSGI application.
2018-09-18 14:11:29 +03:00
2018-09-27 08:57:27 +03:00
## Requirements
- Python 3.5+
- PostgreSQL version 9.5+ (due to [`UPSERT` support](https://wiki.postgresql.org/wiki/UPSERT)).
- DSpace 4+ with [Solr usage statistics enabled](https://wiki.duraspace.org/display/DSDOC5x/SOLR+Statistics)
2018-09-18 14:09:29 +03:00
## Installation
Create a virtual environment and run it:
2018-09-25 12:07:58 +03:00
$ python -m venv venv
2018-09-18 14:09:29 +03:00
$ . venv/bin/activate
$ pip install -r requirements.txt
2018-09-18 14:09:29 +03:00
$ gunicorn app:api
## Deployment
There are example systemd service and timer units in the `contrib` directory.
## Using the API
The API exposes the following endpoints:
- GET `/items`return views and downloads for all items that Solr knows about¹. Accepts `limit` and `page` query parameters for pagination of results.
- GET `/item/id`return views and downloads for a single item (*id* must be a positive integer). Returns HTTP 404 if an item id is not found.
2018-09-25 12:24:52 +03:00
¹ We are querying the Solr statistics core, which technically only knows about items that have either views or downloads.
2018-09-18 14:19:14 +03:00
## Todo
- Add API documentation
2018-09-24 00:35:00 +03:00
- Close up DB connection when gunicorn shuts down gracefully
- Better logging
- Tests
2018-09-27 09:17:45 +03:00
- Check if database exists (try/except)
2018-09-18 14:19:14 +03:00
2018-09-18 14:16:07 +03:00
## License
This work is licensed under the [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html).