Skip to content

Commit fb47ded

Browse files
release-1.0.0 (#51)
* add setup.py * major version * add changelog * resolve mismatches * update readme * update readme * update readme * update setup.py
1 parent e32d0fc commit fb47ded

File tree

7 files changed

+217
-289
lines changed

7 files changed

+217
-289
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
PIP_EXTRA_INDEX_URL
2-
*.txt
32
!tests/resources/*.jpg
43
**.pyc
54
**.log

CHANGELOG.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
1.0.0 (2020-09-25)
2+
------------------
3+
- First PyPi release!

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ARG install_dev_dependencies=true
1313

1414
WORKDIR /app
1515

16-
COPY Pipfile Pipfile.lock ./
16+
COPY Pipfile Pipfile.lock setup.py ./
1717
RUN pipenv install --deploy --ignore-pipfile ${install_dev_dependencies:+--dev}
1818

1919
COPY . ./

Pipfile

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,7 @@ url = "https://pypi.org/simple"
44
verify_ssl = "true"
55

66
[packages]
7-
uvicorn = ">=0.11.7"
8-
gunicorn = "*"
9-
fastapi = {extras = ["all"],version = "*"}
10-
alembic = "*"
11-
psycopg2-binary = "*"
12-
shapely = "*"
13-
sqlalchemy = "*"
14-
geoalchemy2 = "<0.8.0"
15-
sqlakeyset = "*"
16-
stac-pydantic = ">=1.3.5"
17-
pydantic = {extras=["dotenv"], version="*"}
18-
cogeo-mosaic = "==3.0a10"
19-
titiler = "==0.1a2"
7+
arturo-stac-api = {editable = "true", path = "."}
208

219
[dev-packages]
2210
pytest = "*"

Pipfile.lock

Lines changed: 117 additions & 265 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,51 @@
11
# arturo-stac-api ![arturo-stac-api](https://github.com/arturo-ai/arturo-stac-api/workflows/arturo-stac-api/badge.svg)
2-
FastAPI/postgres implementation of the [STAC API specification](https://github.com/radiantearth/stac-api-spec).
2+
---
3+
4+
**Documentation**: coming soon...
5+
6+
**Source Code**: [https://github.com/arturo-ai/arturo-stac-api](https://github.com/arturo-ai/arturo-stac-api)
7+
8+
---
9+
10+
Python library for building and customizing a STAC compliant API:
11+
12+
13+
```
14+
pip install arturo-stac-api
15+
```
16+
17+
18+
## Usage
19+
```python
20+
# my_app.py
21+
from stac_api.config import ApiSettings
22+
from stac_api.api import create_app
23+
24+
settings = ApiSettings()
25+
app = create_app(settings)
26+
```
27+
28+
```bash
29+
$ uvicorn my_app:app --reload
30+
```
331

432
## Project Structure
533
```
634
.
735
├── alembic # Database migrations
836
│   └── versions # Migration versions
9-
├── stac_api
10-
│   ├── clients # Database CRUD
11-
│   ├── models # Database and API data models
12-
│   ├── resources # API endpoints
13-
│   └── utils # FastAPI dependencies
37+
├── scripts # Scripts for local development
38+
├── stac_api
39+
│   ├── api # API layer
40+
│   ├── clients
41+
│   │   ├── postgres # Postgres CRUD client
42+
│   │   └── tiles # OGC Tiles API client
43+
│   ├── models # Pydantic and ORM models
44+
│   └── utils # Helper functions
1445
└── tests
15-
├── clients # CRUD test cases
16-
├── data # Test data
17-
└── resources # API test cases
46+
├── api # Test api creation
47+
├── clients # Test application logic
48+
└── resources # Test api endpoints
1849
```
1950

2051
## Local Development

setup.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
"""arturo-stac-api"""
2+
3+
from setuptools import find_packages, setup
4+
5+
with open("README.md") as f:
6+
desc = f.read()
7+
8+
9+
install_requires = [
10+
"uvicorn>=0.11.7",
11+
"gunicorn",
12+
"fastapi>=0.60.0",
13+
"alembic",
14+
"psycopg2-binary",
15+
"shapely",
16+
"sqlalchemy",
17+
"geoalchemy2<0.8.0",
18+
"sqlakeyset",
19+
"stac-pydantic>=1.3.5",
20+
"pydantic[dotenv]",
21+
"cogeo-mosaic==3.0a10",
22+
"titiler==0.1a2",
23+
"rio-cogeo==2.0a5",
24+
]
25+
26+
extra_reqs = {
27+
"dev": ["pytest", "pytest-cov", "pytest-asyncio", "pre-commit", "requests"],
28+
}
29+
30+
31+
setup(
32+
name="arturo-stac-api",
33+
description="Arturo's STAC compliant API implementation",
34+
long_description=desc,
35+
long_description_content_type="text/markdown",
36+
version="1.0.0",
37+
python_requires=">=3.8",
38+
classifiers=[
39+
"Intended Audience :: Developers",
40+
"Intended Audience :: Information Technology",
41+
"Intended Audience :: Science/Research",
42+
"Programming Language :: Python :: 3.8",
43+
"License :: OSI Approved :: MIT License",
44+
],
45+
keywords="STAC FastAPI COG",
46+
author=u"Arturo Engineering",
47+
author_email="engineering@arturo.ai",
48+
url="https://github.com/arturo-ai/arturo-stac-api",
49+
license="MIT",
50+
packages=find_packages(exclude=["alembic", "tests", "scripts"]),
51+
zip_safe=False,
52+
install_requires=install_requires,
53+
tests_require=extra_reqs["dev"],
54+
extras_require=extra_reqs,
55+
)

0 commit comments

Comments
 (0)