Skip to content

Commit a592aab

Browse files
authored
Merge pull request #1 from BriannaLind/Monday23
Monday23
2 parents e9d2946 + a8dde14 commit a592aab

File tree

2 files changed

+80
-60
lines changed

2 files changed

+80
-60
lines changed

.github/workflows/ci.yml

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,50 @@
1-
name: planet_overlap CI
1+
name: CI
22

33
on:
44
push:
5-
branches: [ main, develop ]
65
pull_request:
7-
branches: [ main ]
86

97
jobs:
108
build-and-test:
119
runs-on: ubuntu-latest
1210

11+
strategy:
12+
matrix:
13+
python-version: ["3.10", "3.11", "3.12"]
14+
1315
steps:
14-
# 1️⃣ Checkout repository
1516
- name: Checkout repository
16-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1718

18-
# 2️⃣ Setup Python 3.10
1919
- name: Set up Python
20-
uses: actions/setup-python@v4
20+
uses: actions/setup-python@v5
2121
with:
22-
python-version: "3.10"
22+
python-version: ${{ matrix.python-version }}
2323

24-
# 3️⃣ Install Poetry
25-
- name: Install Poetry
26-
run: |
27-
curl -sSL https://install.python-poetry.org | python3 -
28-
echo "$HOME/.local/bin" >> $GITHUB_PATH
29-
poetry --version
24+
- name: Upgrade pip
25+
run: python -m pip install --upgrade pip
3026

31-
# 4️⃣ Install dependencies (including package)
32-
- name: Install dependencies
33-
run: |
34-
poetry install
27+
- name: Install package + dev dependencies
28+
run: pip install -e .[dev]
3529

36-
# 5️⃣ Run linting
37-
- name: Run linting
38-
run: |
39-
poetry run flake8 . --max-line-length=100
30+
- name: Lint (flake8)
31+
run: flake8 src tests
32+
33+
- name: Check formatting (black)
34+
run: black --check .
35+
36+
- name: Type check (mypy)
37+
run: mypy src
38+
39+
- name: Run tests with coverage
40+
run: pytest --cov=planet_overlap --cov-report=term-missing
4041

41-
# 6️⃣ Run tests
42-
- name: Run tests
42+
- name: Build distribution
4343
run: |
44-
poetry run pytest tests --maxfail=1 --disable-warnings -q
44+
pip install build
45+
python -m build
4546
46-
# 7️⃣ Check memory usage for key test
47-
- name: Memory profiling
47+
- name: Verify wheel installs
4848
run: |
49-
poetry run python -m memory_profiler tests/test_analysis.py
49+
pip install dist/*.whl
50+
python -c "import planet_overlap"

pyproject.toml

Lines changed: 51 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,55 @@
1-
[tool.poetry]
2-
name = "planet-overlap" # distribution name (dash ok)
3-
version = "1.0.0"
4-
description = "PlanetOverlap: AOI & temporal tiling pipeline for Planet imagery"
5-
authors = ["Brianna Lind <you@example.com>"]
1+
[build-system]
2+
requires = ["setuptools>=69", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "planet_overlap"
7+
version = "0.1.0"
8+
description = "Tools for analyzing planetary overlap and spatial relationships."
69
readme = "README.md"
7-
license = "MIT"
8-
packages = [
9-
{ include = "planet_overlap" } # <- tells Poetry where the Python package lives
10+
requires-python = ">=3.10"
11+
license = { text = "MIT" }
12+
authors = [
13+
{ name = "Brianna Lind" }
14+
]
15+
keywords = ["geospatial", "planetary science", "overlap", "analysis"]
16+
classifiers = [
17+
"Intended Audience :: Science/Research",
18+
"License :: OSI Approved :: MIT License",
19+
"Programming Language :: Python :: 3",
20+
"Programming Language :: Python :: 3 :: Only",
21+
"Programming Language :: Python :: 3.10",
22+
"Programming Language :: Python :: 3.11",
23+
"Programming Language :: Python :: 3.12",
1024
]
1125

12-
[tool.poetry.dependencies]
13-
python = "^3.10"
14-
numpy = "^1.26"
15-
pandas = "^2.3"
16-
shapely = "^2.1"
17-
pyproj = "^3.7"
18-
fiona = "^1.10"
19-
geopandas = "^1.1.2"
20-
requests = "^2.32"
21-
click = "^8.3"
22-
tzdata = "^2025.3"
23-
python-dateutil = "^2.9"
24-
attrs = "^25.4"
25-
six = "^1.17"
26-
27-
[tool.poetry.group.dev.dependencies]
28-
pytest = "^7.4"
29-
flake8 = "^7.3"
30-
autoflake = "^2.3"
31-
black = "^24.10"
32-
memory-profiler = "^0.61"
26+
dependencies = [
27+
"numpy>=1.23",
28+
# Add other runtime deps explicitly here
29+
]
3330

34-
[build-system]
35-
requires = ["poetry-core>=1.5.0"]
36-
build-backend = "poetry.core.masonry.api"
31+
[project.optional-dependencies]
32+
dev = [
33+
"pytest>=7",
34+
"pytest-cov",
35+
"flake8",
36+
"black",
37+
"mypy",
38+
]
39+
40+
[project.urls]
41+
Homepage = "https://github.com/BriannaLind/planet_overlap"
42+
Repository = "https://github.com/BriannaLind/planet_overlap"
43+
44+
[tool.setuptools]
45+
package-dir = {"" = "src"}
46+
47+
[tool.setuptools.packages.find]
48+
where = ["src"]
49+
50+
[tool.black]
51+
line-length = 88
52+
53+
[tool.pytest.ini_options]
54+
addopts = "--strict-markers --disable-warnings"
55+
testpaths = ["tests"]

0 commit comments

Comments
 (0)