Django implementation of the University of Maryland Libraries' standalone IP Manager Service. The service provides both an Administrator UI and a REST API interface for IP lookups.
Please see DevelopmentEnvironmentLocal for a full tutorial on how to set up this application (including SAML) to run on your local machine.
Please see DockerComposeLocal for how to run this application locally with Docker and Postgresql using Docker-Compose!
To run the webapp using the built-in web server:
src/manage.py runserverThe application will be running at http://localhost:3001/
To use an alternate port, specify it after the runserver command:
src/manage.py runserver 5999Then the application will be running at http://localhost:5999/
This project uses the pytest test framework, in conjunction with the pytest-django plugin, for testing. Tests are located in the tests directory.
To run the tests:
pytestConfiguration for pytest is maintained in the pyproject.toml file.
This project uses ruff for code format checking and code linting.
To run the linter:
ruff checkTo run the formatter:
# show what would be changed without making the changes
ruff format --diff
# automatically apply the changes
ruff formatConfiguration for ruff is maintained in the pyproject.toml file.
This project began life as a Java servlet application that was tightly integrated with the UMD Libraries' Fedora 2 digital repository application.
In 2022, it was reimplemented as a Ruby on Rails application, and expanded to include a more user-friendly admin UI. The API was also changed from the XML format used by the original application to a more modern JSON implementation.
In 2025 and 2026, it is being reimplemented again, this time using Python and the Django framework.
See the LICENSE file for license rights and limitations (Apache 2.0).