A small Arches extension app providing additional system reference functions for Arches-based projects. Designed for easy integration with Arches projects (Historic England context).
- Python 3.10+ (Check the Arches python requirements and match your Python version))
- Arches >=7.6.0, <7.7.0
Some elements of this app are designed to work with Historic England's specific data model and may not be suitable for other projects without modification.
For development purposes, you can treat this app as a standard Arches project. Either use the instructions for developing an Arches project or use the arches-containers configuration included in this repository.
-
For development (standard):
pip install -e '/path/to/arches_he_sysref_funcs[dev]'This installs the app in editable mode, allowing you to make changes and see them reflected immediately without needing to reinstall.
-
For development using included arches-container configuration:
Please ensure that you clone the arches-he-sysref-funcs repository into a directory that uses underscores instead of hyphens, as the arches-containers configuration expects this format. For example, clone it to
arches_he_sysref_funcs.git clone https://github.com/HistoricEngland/arches-he-sysref-funcs.git arches_he_sysref_funcs
This repository includes an
arches-containersproject configuration, so you can import, activate, and start the system as follows:-
Ensure Docker is installed and running.
-
Navigate to your workspace directory (the root where your projects and containers live).
-
Import the arches-container project configuration:
act import -p arches_he_sysref_funcs
-
Activate the project:
act activate -p arches_he_sysref_funcs
-
Start the system:
act up
-
Once setup and webpack builds are complete, open a browser and navigate to
http://localhost:8002or useact viewin a termainal to open the project in your default browser.
For more details, see the arches-containers documentation.
-
Follow these steps to add arches-he-sysref-funcs to your Arches project:
Add the following to your pyproject.toml dependencies (in the [project] section):
arches-he-sysref-funcs @ git+https://github.com/HistoricEngland/arches-he-sysref-funcs.git@release/1.0.0Example:
dependencies = [
"arches>=7.6.0,<7.7.0",
"arches-he-sysref-funcs @ git+https://github.com/HistoricEngland/arches-he-sysref-funcs.git@release/1.0.0",
]Add the following to the appropriate locations:
DATATYPE_LOCATIONS.append("arches_he_sysref_funcs.datatypes")
FUNCTION_LOCATIONS.append("arches_he_sysref_funcs.functions")
SEARCH_COMPONENT_LOCATIONS.append("arches_he_sysref_funcs.search.components")Add to INSTALLED_APPS and ARCHES_APPLICATIONS:
INSTALLED_APPS = (
...
"your_project",
"arches_he_sysref_funcs",
)
ARCHES_APPLICATIONS = ("arches_he_sysref_funcs",)Include the app's URLs (add project URLs before this):
urlpatterns = [
# ... your project urls ...
path("", include("arches_he_sysref_funcs.urls")),
]Run the following command to apply any database migrations required by this app:
if using the arches-containers, run this in the application container
python manage.py migrateFrom the directory containing your your_project/package.json:
if using arches-containers, run this in the application container or restart the webpack
npm install
npm run build_developmentpython manage.py runserverThis project is licensed under the GNU AGPLv3. See the LICENSE file for details.
For more information on deploying your Arches project, see the Arches Deployment Guide.