Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
f595af5
Create dependabot.yml
jirhiker Jun 18, 2025
b43ec89
Merge pull request #1 from DataIntegrationGroup/jir-setup
jirhiker Jun 18, 2025
0c973c7
updated readme
jirhiker Jun 18, 2025
96fe4c4
updated readme
jirhiker Jun 18, 2025
1b4c1ae
refactored
jirhiker Jun 18, 2025
d6d2bfc
refactored
jirhiker Jun 18, 2025
3ef23f0
added geochronology
jirhiker Jun 18, 2025
4445fee
Formatting changes
jirhiker Jun 18, 2025
0dc507d
geospatial chemistry
jirhiker Jun 19, 2025
14a414b
Formatting changes
jirhiker Jun 19, 2025
e7eabdd
added chemistry query
jirhiker Jun 19, 2025
e687fac
Formatting changes
jirhiker Jun 19, 2025
8caf7a5
refactor
jirhiker Jun 19, 2025
62e3469
Formatting changes
jirhiker Jun 19, 2025
c87e543
started adding validation dependencies
jirhiker Jun 19, 2025
8cfb67e
Formatting changes
jirhiker Jun 19, 2025
fd93945
fixed regex
jirhiker Jun 19, 2025
ce8575e
no numbers in field name
jirhiker Jun 19, 2025
14c4484
The string value is now limited to 256 characters.
jirhiker Jun 19, 2025
e0b2019
Formatting changes
jirhiker Jun 19, 2025
e13e53f
added ability to associate a term is multiple categories
jirhiker Jun 20, 2025
7809020
Formatting changes
jirhiker Jun 20, 2025
4f8394c
added publication and people concept. added email, phone validation
jirhiker Jun 20, 2025
9c7b2a4
Formatting changes
jirhiker Jun 20, 2025
6329349
improved publication
jirhiker Jun 21, 2025
4feaa4d
Formatting changes
jirhiker Jun 21, 2025
de7a774
Bump alembic from 1.16.1 to 1.16.2
dependabot[bot] Jun 23, 2025
0e29c47
Bump greenlet from 3.2.2 to 3.2.3
dependabot[bot] Jun 23, 2025
0fcc673
added author api
jirhiker Jun 26, 2025
11e5fa8
Formatting changes
jirhiker Jun 26, 2025
2b52199
stop using sqlite for testing. use github actions postgis service
jirhiker Jun 27, 2025
368c951
Formatting changes
jirhiker Jun 27, 2025
94c03d1
started sqlalchemy searchable
jirhiker Jun 27, 2025
b0a2664
Formatting changes
jirhiker Jun 27, 2025
7886c0d
set target-branch dependabot.yml
jirhiker Jun 27, 2025
cd90271
started owner search
jirhiker Jun 27, 2025
799f56c
Formatting changes
jirhiker Jun 27, 2025
904d6cd
implemented asset model using filedepot. refactor. added ondelete to …
jirhiker Jun 28, 2025
73ec43d
Formatting changes
jirhiker Jun 28, 2025
767c2b4
Bump fastapi-pagination from 0.13.2 to 0.13.3
dependabot[bot] Jun 30, 2025
db248b4
Bump uvicorn from 0.34.3 to 0.35.0
dependabot[bot] Jun 30, 2025
9b8ccaa
Bump fastapi from 0.115.12 to 0.115.14
dependabot[bot] Jun 30, 2025
e74fe19
added a lexicon triple table
jirhiker Jun 30, 2025
c6fed6f
Formatting changes
jirhiker Jun 30, 2025
8667b46
use cloud native asset storage
jirhiker Jun 30, 2025
f88ec41
Formatting changes
jirhiker Jun 30, 2025
7784784
cleanup
jirhiker Jun 30, 2025
8085f30
Formatting changes
jirhiker Jun 30, 2025
5491eeb
gae deployment
jirhiker Jun 30, 2025
c898c0d
Formatting changes
jirhiker Jun 30, 2025
d58c1f7
alembic
jirhiker Jun 30, 2025
a2419e7
Formatting changes
jirhiker Jun 30, 2025
8658d34
setup for cloudsql db
jirhiker Jun 30, 2025
0f2eae3
Formatting changes
jirhiker Jun 30, 2025
d7d1734
setup for cloudsql db
jirhiker Jun 30, 2025
85a0d32
setup for cloudsql db
jirhiker Jun 30, 2025
30f062d
setup for cloudsql db
jirhiker Jun 30, 2025
aec8b3e
fixed fastadmin demo
jirhiker Jul 1, 2025
e5a531d
Formatting changes
jirhiker Jul 1, 2025
0b7d500
added mvp
jirhiker Jul 1, 2025
6850182
Formatting changes
jirhiker Jul 1, 2025
263240c
fixed async_database_sessionmaker
jirhiker Jul 1, 2025
9394c84
fixed query tests
jirhiker Jul 1, 2025
7fc977a
fixed query tests
jirhiker Jul 1, 2025
cbb34ca
Formatting changes
jirhiker Jul 1, 2025
7615431
fixed query tests
jirhiker Jul 1, 2025
e7726b9
Formatting changes
jirhiker Jul 1, 2025
a553410
fixed query tests
jirhiker Jul 1, 2025
35658af
Formatting changes
jirhiker Jul 1, 2025
eb5d6b0
fixed query tests
jirhiker Jul 1, 2025
b2e491f
fixed query tests
jirhiker Jul 1, 2025
51bb86b
Formatting changes
jirhiker Jul 1, 2025
e852032
timescaledb
jirhiker Jul 2, 2025
5c4f864
Formatting changes
jirhiker Jul 2, 2025
b8add66
timescaledb
jirhiker Jul 2, 2025
b6cc1ab
timescaledb
jirhiker Jul 2, 2025
d7a5c26
timescaledb
jirhiker Jul 2, 2025
57604e1
timescaledb
jirhiker Jul 2, 2025
cc7d1e4
timescaledb
jirhiker Jul 2, 2025
0751fbe
timescaledb
jirhiker Jul 2, 2025
7afee3e
timescaledb
jirhiker Jul 2, 2025
1d32f46
timescaledb
jirhiker Jul 2, 2025
fc04e1a
timescaledb
jirhiker Jul 2, 2025
da3c264
timescaledb
jirhiker Jul 2, 2025
8e18633
timescaledb
jirhiker Jul 2, 2025
7ad0371
timescaledb
jirhiker Jul 2, 2025
c94e512
Formatting changes
jirhiker Jul 2, 2025
730a0ec
timescaledb
jirhiker Jul 2, 2025
ba6ea70
timescaledb
jirhiker Jul 2, 2025
c7ec3c8
rollback timescaledb
jirhiker Jul 2, 2025
d7ebd97
timescaledb
jirhiker Jul 2, 2025
4add00a
timescaledb
jirhiker Jul 2, 2025
763e95e
timescaledb
jirhiker Jul 2, 2025
19b0d00
timescaledb
jirhiker Jul 2, 2025
a16ec1c
timescaledb
jirhiker Jul 2, 2025
049041a
timescaledb
jirhiker Jul 2, 2025
56d7282
timescaledb
jirhiker Jul 2, 2025
e8dc522
timescaledb
jirhiker Jul 2, 2025
ca882be
timescaledb
jirhiker Jul 2, 2025
afdde50
timescaledb
jirhiker Jul 2, 2025
ad2a3ea
timescaledb
jirhiker Jul 2, 2025
6bde0f3
timescaledb
jirhiker Jul 2, 2025
ba8e418
timescaledb
jirhiker Jul 2, 2025
becefa8
timescaledb
jirhiker Jul 2, 2025
d81fd6e
timescaledb
jirhiker Jul 2, 2025
20196fd
timescaledb
jirhiker Jul 2, 2025
1823ef5
use custom image
jirhiker Jul 3, 2025
ec56b28
Formatting changes
jirhiker Jul 3, 2025
0d91383
added simple timescaledb tests
jirhiker Jul 3, 2025
bd9a4ee
Formatting changes
jirhiker Jul 3, 2025
a719894
Merge pull request #2 from DataIntegrationGroup/jir-wip
jirhiker Jul 3, 2025
1b23df0
Bump pillow from 11.2.1 to 11.3.0
dependabot[bot] Jul 3, 2025
036ce97
Merge pull request #9 from DataIntegrationGroup/dependabot/pip/pillow…
jirhiker Jul 3, 2025
0c9cd5a
Merge pull request #3 from DataIntegrationGroup/dependabot/uv/alembic…
jirhiker Jul 3, 2025
d5d953f
Merge pull request #8 from DataIntegrationGroup/dependabot/uv/fastapi…
jirhiker Jul 3, 2025
5a59ccd
Merge pull request #7 from DataIntegrationGroup/dependabot/uv/uvicorn…
jirhiker Jul 3, 2025
4838af8
Merge pull request #6 from DataIntegrationGroup/dependabot/uv/fastapi…
jirhiker Jul 3, 2025
1dad7bb
Merge pull request #5 from DataIntegrationGroup/dependabot/uv/greenle…
jirhiker Jul 3, 2025
23dce52
uv sync
jirhiker Jul 3, 2025
4542ff8
Potential fix for code scanning alert no. 2: Workflow does not contai…
jirhiker Jul 3, 2025
e34a3b2
chore: add GeoServer Terraform IaC configuration
jirhiker Jul 5, 2026
e28da4b
feat(geoserver): install ogcapi-features extension at startup
jirhiker Jul 5, 2026
beaae37
fix(geoserver): install ogcapi-features as stable extension
jirhiker Jul 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
247 changes: 247 additions & 0 deletions .gcloudignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,247 @@
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# AWS User-specific
.idea/**/aws.xml

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# SonarLint plugin
.idea/sonarlint/

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### PyCharm template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "uv" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
target-branch: "pre-production"
5 changes: 5 additions & 0 deletions .github/workflows/format_code.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Code Format
on:
push:
permissions:
contents: read
jobs:
flake8_py3:
runs-on: ubuntu-latest
Expand All @@ -19,6 +21,9 @@ jobs:
args: "--exit-zero --select=E"
format:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
Expand Down
49 changes: 30 additions & 19 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,42 @@
name: Tests

on:
push:
# branches: [ "main",'pre-production', "dev/jir", "dev/jab"]
pull_request:
branches: [ "main",'pre-production']

permissions:
contents: read

#env:
# TEST_DB_USE_CLOUD: "TRUE"
# TEST_DB_SERVER_NAME: ${{ secrets.TEST_DB_SERVER_NAME }}
# TEST_DB_USER: ${{ secrets.TEST_DB_USER }}
# TEST_DB_PASSWORD: ${{ secrets.TEST_DB_PASSWORD }}
# TEST_DB_DATABASE: ${{ secrets.TEST_DB_DATABASE }}

jobs:
build:
runs-on: ubuntu-latest

services:
postgis_timescaledb:
image: ghcr.io/dataintegrationgroup/nmdms:latest
# image: postgres
# image: postgis/postgis:latest
# image: postgis/postgis:17-3.5
# image: timescale/timescaledb:2.18.0-pg17
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps tcp port 5432 on service container to the host
- 5432:5432

steps:
- name: Check out source repository
uses: actions/checkout@v4

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential pkg-config libproj-dev libgeos-dev libsqlite3-dev

- name: Install SpatiaLite
run: |
sudo apt-get update
sudo apt-get install -y libsqlite3-mod-spatialite libspatialite-dev
# - name: Install SpatiaLite
# run: |
# sudo apt-get update
# sudo apt-get install -y libsqlite3-mod-spatialite libspatialite-dev

- name: Install uv
uses: astral-sh/setup-uv@v5
Expand All @@ -51,7 +56,13 @@ jobs:

- name: Run tests
env:
SPATIALITE_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/mod_spatialite.so
MODE: development
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
POSTGRES_PASSWORD: postgres
DB_DRIVER: postgres
# SPATIALITE_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/mod_spatialite.so

run: uv run pytest -vv --durations=20 --junitxml=junit.xml

# - name: Upload results to Codecov
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,10 @@ wheels/
# local development files
development.db
.env
reset_db.sh
reset_db.sh
tests/uploads


# deployment files
app.yaml
alembic.ini
16 changes: 16 additions & 0 deletions ADR1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## What is the justification for this Project?

The bureau of geology has multiple siloed "data systems" that are not integrated. This leads to inefficiencies in data management, analysis, and sharing.

Since there is only one data services team, it makes sense to have a single, unified data system that can serve the needs of all the different teams within the bureau. This will allow for better collaboration, data sharing, and overall efficiency in managing geological data.

The goal of this project is to create a unified data system that allows for better data integration, accessibility, and usability across the bureau.



## Components
- NMSampleLocations (Storage. Database+API)
- NMBGMRDataManager (Web-based frontend)



Loading
Loading