For more information, check out:
- Wiki: https://hysds-core.atlassian.net/wiki/spaces/HYS/overview
- Issue Tracker: https://hysds-core.atlassian.net/projects/HC/issues
- Repos: https://github.com/hysds/
Core component for the Hybrid Science Data System
- Python 3.12+ (required)
- pip 23.0+
- setuptools 68.0.0+
- virtualenv 20.0.0+
- prov-es 0.2.0+
- osaka 0.2.0+
- hysds-commons 0.2.0+
This version of HySDS is fully compatible with Python 3.12. The following changes were made to ensure compatibility:
- Updated
datetime.utcnow()todatetime.now(timezone.utc)throughout the codebase - Replaced deprecated
logger.warn()calls withlogger.warning() - Refactored
get_disk_usageto use Python's nativeos.lstatandos.walk - Updated timezone handling to be explicit with
UTCtimezone
- Some modules have low test coverage (see test coverage report)
- Some third-party dependencies may have their own Python 3.12 compatibility considerations
This project uses pip-tools for dependency management. The main dependency files are:
requirements.in- Main production dependenciesdev-requirements.in- Development dependenciesrequirements.txt- Compiled production dependencies (generated)dev-requirements.txt- Compiled development dependencies (generated)
-
Install pip-tools:
pip install pip-tools
-
Update requirements files:
pip-compile --upgrade --output-file=requirements.txt requirements.in pip-compile --upgrade --output-file=dev-requirements.txt dev-requirements.in
-
To add a new dependency, edit the appropriate
.infile and recompile.
- Create virtual environment and activate:
virtualenv env
source env/bin/activate
- Update pip and setuptools:
pip install -U pip
pip install -U setuptools
- Install prov-es:
git clone https://github.com/pymonger/prov_es.git
cd prov_es
pip install .
cd ..
- Install hysds:
pip install -r requirements.txt
git clone https://github.com/hysds/hysds.git
cd hysds
pip install .