GeoPicTagReader
Project description
GeoVisio is a complete solution for storing and serving your own 📍📷 geolocated pictures (like StreetView / Mapillary).
➡️ Give it a try at panoramax.ign.fr or geovisio.fr !
📦 Components
GeoVisio is modular and made of several components, each of them standardized and ♻️ replaceable.
All of them are 📖 open-source and available online:
🌐 Server | 💻 Client |
---|---|
API | Website |
Blur API | Web viewer |
GeoPic Tag Reader | Command line |
📷 GeoPic Tag Reader
This repository only contains the Python library to extract standardized metadata from geolocated pictures EXIF metadata.
Features
This tool allows you to:
- Analyse various EXIF variables to extract standardized metadata for geolocated pictures applications
Install
GeoPicTagReader can be installed using two methods:
- From PyPI, the Python central package repository
- Using this Git repository
From PyPI
Just launch this command:
pip install geopic_tag_reader
After this you should be able to use the CLI tool with the name geopic-tag-reader
:
geopic-tag-reader --help
Alternatively, you can use pipx if you want all the script dependencies to be in a custom virtual env.
You need to install pipx, then:
pipx install geopic_tag_reader
From Git repository
Download the repository:
git clone https://gitlab.com/geovisio/geo-picture-tag-reader.git geopic_tag_reader
cd geopic_tag_reader/
To avoid conflicts, it's considered a good practice to create a virtual environment (or virtualenv). To do so, launch the following commands:
# Create the virtual environment in a folder named "env"
python3 -m venv env
# Launches utilities to make environment available in your Bash
source ./env/bin/activate
Then, install the dependencies using pip:
pip install -e .
You can also install the dev
dependencies if necessary (to have lints, format, tests, ...):
pip install -e .[dev]
Then, you can use the geopic-tag-reader
command:
geopic-tag-reader --help
Usage
This library can be used both from command-line or as Python module.
As command-line
To see all available commands:
geopic-tag-reader --help
Full documentation is also available here.
As Python library
In your own script, you can use:
from geopic_tag_reader import reader
from PIL import Image
# Open an image with Pillow
img = Image.open("my_picture.jpg")
# Read EXIF metadata
metadata = reader.readPictureMetadata(img)
# Print results
print(metadata)
Full documentation is also available here.
Development
Tests
Tests are run using PyTest. You can simply run this command to launch tests:
pytest
Documentation
High-level documentation is handled by Typer. You can update the generated USAGE.md
file using this command:
make docs
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Note that before opening a pull requests, you may want to check formatting and tests of your changes:
make ci
Make a release
git checkout main
git pull
make docs ci
vim CHANGELOG.md # Edit version + links at bottom
vim geopic_tag_reader/__init__.py # Edit version
git add *
git commit -m "Release x.x.x"
git tag -a x.x.x -m "Release x.x.x"
git push origin main --tags
🤗 Special thanks
GeoVisio was made possible thanks to a group of ✨ amazing people ✨ :
- GéoVélo team, for 💶 funding initial development and for 🔍 testing/improving software
- Carto Cité team (in particular Antoine Riche), for 💶 funding improvements on viewer (map browser, flat pictures support)
- La Fabrique des Géocommuns (IGN) for offering long-term support and funding the Panoramax initiative and core team (Camille Salou, Mathilde Ferrey, Christian Quest, Antoine Desbordes, Jean Andreani, Adrien Pavie)
- Many many wonderful people who worked on various parts of GeoVisio or core dependencies we use : 🧙 Stéphane Péneau, 🎚 Albin Calais & Cyrille Giquello, 📷 Damien Sorel, Pascal Rhod, Nick Whitelegg...
- Adrien Pavie, for ⚙️ initial development of GeoVisio
- And you all ✨ GeoVisio users for making this project useful !
⚖️ License
Copyright (c) GeoVisio team 2022-2023, released under MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for geopic_tag_reader-0.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 261d3f6097ffd2278737fca9d9494b2095af300d78d6a25b49ce147d10b93993 |
|
MD5 | bb63c8fddc439478717d61e17ea9fbbb |
|
BLAKE2b-256 | de08414b6eaaa34e2b9c7fe8e385beac498d9505d1ed2bf81d9b24cea821ddb6 |