Skip to main content

The OversightML Tile Server is a lightweight, cloud-based tile server which allows you to quickly pass an image from S3 bucket to get metadata, image statistics, and set of tiles in real-time.

Project description

OversightML Tile Server

The OversightML Tile Server (TS) is a lightweight, cloud-based tile server which provides RESTful APIs for accessing pixels and metadata for imagery stored in the cloud. Key features include:

Table of Contents

Getting Started

Package Layout

  • /src: This is the Python implementation of this application.
  • /test: Unit tests have been implemented using pytest.
  • /doc: Contains Sphinx Doc configuration which is used to generate documentation for this package
  • /load-test: Contains sample Locust configuration files which is used to run load test against the Tile Server

Documentation

  • APIs: You can find API documentation for the OSML Tile Server hosted on our GitHub project page. Keep in mind that the Try it out button functionality does not work in Github project page.

Prerequisites

First, ensure you have installed the following tools locally

Cloning the repository

Clone the repository to your local computer using

git clone https://github.com/aws-solutions-library-samples/osml-tile-server.git

Navigate to the cloned directory using cd or dir, depending on your operating system.

More information about cloning and managing repositories can be found in the GitHub Docs.

Building the Infrastructure

Tile Server infrastructure is contained in the associated CDK repository, and a sample can be deployed by following the instructions in the Guidance for Overhead Imagery Inference on AWS repository.

Running Tile Server Locally

The Tile Server is designed to be able to be run locally using docker compose for development and testing purposes using docker compose.

Note: Some operating systems may use docker-compose instead of docker compose .

Configure your AWS credentials for the account in which the Tile Server infrastructure was deployed by setting your environment variables.

export AWS_DEFAULT_REGION=<region where TS infrastructure deployed in>
export AWS_ACCESS_KEY_ID=<AKIAIOSFODNN7EXAMPLE>
export AWS_SECRET_ACCESS_KEY=<wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY>

Start the Tile Server using

docker compose -f docker/docker-compose.yml up -d

To view the live log output while the server is running

docker logs -f osml-tile-server

To stop the tile server

docker compose -f docker/docker-compose.yml down

To rebuild the docker image after making a code change, use

docker compose -f docker/docker-compose.yml up -d --build

In another terminal to invoke the rest server and return the viewpoint on a single image, run the following command:

curl -X 'POST' \
  'http://localhost:8080/latest/viewpoints/' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "bucket_name": "<S3 Bucket>",
  "object_key": "<Image Name>",
  "viewpoint_name": "test",
  "tile_size": 512,
  "range_adjustment": "NONE"
}'

Additionally, you can view the API in the browser and execute various API calls by visiting

http://0.0.0.0:8080/latest/docs or http://0.0.0.0:8080/latest/redoc

Support & Feedback

To post feedback, submit feature ideas, or report bugs, please use the Issues section of this GitHub repo.

If you are interested in contributing to OversightML Model Runner, see the CONTRIBUTING guide.

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osml_tile_server-1.0.0rc1.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

osml_tile_server-1.0.0rc1-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file osml_tile_server-1.0.0rc1.tar.gz.

File metadata

  • Download URL: osml_tile_server-1.0.0rc1.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.10

File hashes

Hashes for osml_tile_server-1.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 2da39c4263aaeb3621851f4e3d6e4d37f2737f283e87ae97ce876e0293be1819
MD5 542215fddde831f87bfd8ea3cd5edf98
BLAKE2b-256 2990d2699c844433ac995f86d5c7a92810f3102a3b96fe2e1a474c7eed48b8c7

See more details on using hashes here.

File details

Details for the file osml_tile_server-1.0.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for osml_tile_server-1.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 6eaa3a99fde88c3775799efc98c1b744c54817a9339be63c97de8f663b797cf9
MD5 5ebe6d909bd3d0199d27652a240002e2
BLAKE2b-256 b2f30f36bb738d4a77dc2d892ec46442840caef549af2391ce48ba4b3f598ba0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page