Releases: davewalker5/PlateLibrary
Releases · davewalker5/PlateLibrary
Version 1.15.0
Docker Support
- Support a containerised version of the Plate Library
- It's recommended to run the containerised version using Docker Compose
- The following is an example Docker Compose file:
services:
platelibrary:
container_name: platelibrary
image: davewalker5/platelibrary:latest
platform: linux/amd64
restart: always
ports:
- "8090:8501"
volumes:
- /path/to/plate/library/database/folder:/var/opt/platelibrary/- "/path/to/plate/library/database/folder" should be the path to a folder on the host machine containing:
- The plate library database, plate_library.db
- A configuration file, config.json
- The configuration file contains parameters for customising location maps, as follows:
{
"location" : {
"default_latitude": 51.75,
"default_longitude": -1.25,
"map_zoom": 11,
"map_style": null,
"attribution": null
}
}- These can be customised as required
- For the plate image preview to work in the plate editor, the plate images themselves must use the folder structure described in the release notes for Version 1.6.0 and that folder structure must be in the database folder specified in the volume mount in the Docker Compose file
- The following is an example of how that folder structure might look:
/path/to/plate/library/database/folder
│
├── 2026
│ ├── 03 Mar
│ │ ├── SI-II-004.png
│ │ ├── SI-II-005.png
│ │ ├── SI-II-006.png
│ │ ├── SI-II-007.png
│ ├── 04 Apr
│ └── SI-II-048.png
├── config.json
└── plate_library.db
Version 1.14.0
Maintenance Release
- Prevent the warning generated the first time a new plate is added after starting the application
- When adding new investigations, suggest the next investigation reference number
- Add a convenience view over the SPECIES table that generates a consistently formatted label for the species
- Added subject (species) to the investigation export
- Added investigation export to the export script
1.13.1
PROJ_DATA Folder Setup
- The application uses pyproj for coordinate transformations from latitude and longitude to coordinate references
- On recent versions of the OS, pip will find the prebuilt package
- On older versions, it won't find the prebuilt package and running the plate library editor will produce this error, or similar:
pyproj.exceptions.DataDirError: Valid PROJ data directory not found. Either set the path using the environmental variable PROJ_DATA (PROJ 9.1+) | PROJ_LIB (PROJ<9.1) or with `pyproj.datadir.set_data_dir`.
- The fix is to install via either Homebrew or MacPorts, using one of the following commands:
brew install proj
sudo port install proj- Then, the PROJ_DATA environment variable must be set before running the streamlit application
- The following is an example assuming a MacPorts install of proj 9.6.2:
export PROJ_DATA=/opt/local/lib/proj9/share/proj- This release adds code to the editor run scripts to set PROJ_DIR before running streamlit
Version 1.13.0
- Automatically calculate the coordinate reference when clicking on the location map
Version 1.12.0
Map Controls
- Added simple map controls to the map:
- Add a pin
- Centre on that pin having scrolled away
- Reset the map view
- Set map styling
Version 1.11.0
Clickable Location Map
- Added a clickable map to the location maintenance pages
- Added a JSON configuration file
- Configuration parameters determine where the map initially centres and how it is styled
Version 1.10.0
Coordinate Reference Calculation
- Integrate a coordinate reference calculator in the location maintenance section:
- Enter the latitude and longitude
- Select the coordinate system to convert to
- Click "Calculate" to populate the coordinate reference field
- This supports British National Grid (BNG), UTM and MGRS
- The coordinate system is now persisted to the database alongside the other location properties
Version 1.9.0
Multiple Stains per Plate
- Support association of more than one stain with a single plate
Version 1.8.0
Plate Editor Enhancements
- After saving a new plate, retain the following fields:
- Investigation
- Date
- Notebook reference
- Specimen
- Species
- Objective
- Camera
- Stain
- Location
- Also, update the suggested next plate and plate reference
- Fix the warning displayed on the plate editor page on first opening the tab
- Default the plate file extension to ".png"
Version 1.7.0
Code Structure Refactoring
- Refactor the code into separate modules
- Implement pyproject.toml in place of requirements.txt