This release is a pre-release and may not be stable for production use.
Summary
- This project to Extract/Transform/Load Data from free API provider named AlphaVantage in to a Database
- Provides API service to sync the data, also retrieve from database and get statisttics
Tech Stack
- Python for backend
- FastAPI for runnning api services
- Postgres Database
- Docker to set up image for deployment and local development
- GCP Kubernatess for provisioning of deployments/service
Setup project for development:
source setup.sh
Run using command line:
uvicorn financial.main:app --host 0.0.0.0 --port 8000
- Go to Browser: http://0.0.0.0:8000/docs to test the APIs
Build Docker Image
docker image build -t stock-computing-service .
docker buildx build --platform linux/amd64 -f ./Dockerfile -t image .
Run via Docker using any of the below options:
docker run stock-computing-servicedocker-compose up
Upload to docker hub
docker tag stock-computing-service-app shubhamraj2202/stock-computing-service-app:latest
docker push shubhamraj2202/stock-computing-service-app:latest
Delete from docker
docker rmi shubhamraj2202/stock-computing-service-app:latest
DockerHub
https://hub.docker.com/repository/docker/shubhamraj2202/stock-computing-service-app
PyPi
https://pypi.org/project/stock-computing-service/
Maintaining API key
For local development, the API key can be accessed via environment variable FINANCIAL_KEY
- Run
export FINANCIAL_KEY="YourAPIKEY"on shell.
For production environment, the API key should be stored in a secret management service like Vault, GCP Secret Manager /AWS
TODO Provision: Script to take initial setup of env
Install Google Cloud CLI https://cloud.google.com/sdk/docs/install gcloud init gcloud auth login gcloud auth application-default login gcloud components install gke-gcloud-auth-plugin export GOOGLE_PROJECT=stock-computing-service pulumi new gcp-python pulumi config set gcp:project stock-computing-service pulumi config set gcp:region us-west1 gcloud container clusters get-credentials gke-cluster-f0853e1 --zone us-west1-a cd infra pulumi stack init dev
Reference: https://github.com/pulumi/examples/blob/master/gcp-py-gke/README.md
Metadata
Release files for stock-computing-service 1.2.1a5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stock_computing_service-1.2.1a5.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stock_computing_service-1.2.1a5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.1 kB
Release files / stock_computing_service-1.2.1a5.tar.gz
| Download URL | stock_computing_service-1.2.1a5.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fc6139806b6425432f4e0ac162df891b1db9c499955a5dea9e3d0a3462fafe55
|
|
BLAKE2b-256 checksum How to use checksums |
5fdb497db2063d84335f56e39d6f5533843ecd06f7e8e894464eef446a502c40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.2
|
Release files / stock_computing_service-1.2.1a5-py3-none-any.whl
| Download URL | stock_computing_service-1.2.1a5-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
12043429dca7a95cc697527d6cfa173ac7fff3008b4a59bc12b59e6a3885276e
|
|
BLAKE2b-256 checksum How to use checksums |
824fbf67a4e06483a2b9060856f2588525e05d7447836aadae9d19cad6955482
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.2
|