Create Python package#19
Open
jeangud wants to merge 3 commits into
Open
Conversation
jeangud
commented
Aug 13, 2024
| @@ -0,0 +1,39 @@ | |||
| [build-system] | |||
Contributor
Author
There was a problem hiding this comment.
This file is the main change in this PR
Collaborator
|
Thank you so much for this @jeangud! Just a quick note: I am taking some time off currently but will get to this as soon as I am back to working. Thanks for your contributions to this project. |
Bring packaging branch up to date with latest main (README dataset/model updates and notebook URL fixes).
Build on the packaging work with the follow-ups needed to make the package usable end-to-end: - docs/notebooks: migrate README quickstart and notebooks (A01/A02/B01/B02) off 'git clone + sys.path' to 'pip install' + 'from satclip... import ...'; add an Installation section and run training via 'python -m satclip.main' - pyproject: list direct deps explicitly (torch, numpy, sympy, timm, einops, matplotlib, torchvision, huggingface_hub), relax 'lightning' pin to >=2.2,<3, SPDX license, add 'examples'/'dev' extras and a 'satclip-train' entry point, ship configs/*.yaml as package data - main.py: resolve the default config relative to the package and guard the CUDA device check so 'python -m satclip.main' works from any directory / on CPU - __init__.py: expose a clean public API (SatCLIP, LocationEncoder, SatCLIPLoss, get_satclip) instead of wildcard re-exports - add a CI workflow and import/forward-pass smoke tests - ignore dist/ and .pytest_cache/ Verified: wheel builds, bundles configs/default.yaml, registers the satclip-train entry point, and emits License-Expression: MIT.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The current setup seem to require that
satclipbe on a customized$PYTHONPATH, for example with:Moreover, it does not list dependencies and versioning (see Issue Missing requirements.txt file #8)
This PR proposes to setup
satclipas a Python package to install it just like any other Python package, and facilitating its use from any directory, without the need to setup thePYTHONPATH.Usage:
pip install .Example use cases:
SatCLIPPyTorch model:from satclip.model import SatCLIPsatclipin different training scriptsfrom satclip.location_encoder import LocationEncoderor againfrom satclip.main import SatCLIPLightningModulePR changes
pyproject.tomlusing setuptools as a build system, following the latest recommendations from Python packagingsatclippackage directoryTesting
pip install .runs succesfullysatclipfrom any folder, without setting$PYTHONPATH:Example log output (click to expand)
Log from pip install .