Intreecom / scyllapy

Asyncronous modern python client for Cassandra and Scylla
MIT License
57 stars 3 forks source link

Request for a (dummy) template on how to use the scyllapy using FastAPI - API, Scylladb (triple node cluster) - backend hosted on docker, Pydantic for validation and specifying inputs and outputs to and from various application functionalities #40

Open Arap-Odawa opened 10 months ago

Arap-Odawa commented 10 months ago

Hi Mr. Pavel and the InTree team,

I hope that you're all keeping well. I am a novice in programming and am currently working on a project while learning the basics of python, FastAPI, Puydantic, databases (Scylladb) etc. I was browsing the net searching for tutorials on how to setup Scylladb in a FastAPI setup and came across the Christmas gift of scyllapy (especially given the fact that you guys are also implementing it using FastAPI as an API for the social media app that you are working on) and impressed doesn't quite capture my sentiments since there is a dearth of information/ tutorials on implementing applications running on ScyllaDB unlike other stacks such as the FARM stack which has many tutorials and videos depicting how to use the stack to program applications.

I have examined the documentation that you have put out on how to use the scyllapy and it is quite comprehensive for understanding the basics of how to use it. If you do not mind my asking, I would like to request for a template,

a. which can fit really well in your FastAPI template, but customized for ScyllaDB. b. As extra motivation, this will be among the first if not the first such template on the internet, I know, I've been searching for nearly two months and have gone through very many rabbit holes, and c. will also serve as a further marketing for the scyllapy to the general public and especially other pythonistas d. this will also assist you in future iterations of the social media app that your team is working on

The proposed specifications for the template (you can customize it as you deem fit):

  1. Details the deployment of scylladb on a localhost (windows) in a triple replication cluster setup running on docker (with the docker-compose and docker files
  2. FastAPI API backend.
  3. Customization of database models like they are done for psycopg or asyncpg and alembic. This is the most crucial ask, especially together with the connection to docker-compose.
  4. Sample CRUD operations.

Thanks,

Regards,

Michael Otieno

caniko commented 8 months ago

You really shouldn't use Scylla if you are new to programming. Most of the time you can actually just use Postgres or even sqlite; try what you are doing with SQLAlchemy. Using DBs like Scylla that is hot and new, you are expected to get your hands dirty and spend time writing a lot of the components that go into your app yourself.

I would never deploy Scylla with docker in production; use K8 in prod and kind when developing.

Here be dragons @Arap-Odawa, come back when you are ready

Arap-Odawa commented 8 months ago

Thanks @caniko , I will try my implementation on postgres while trying out the ScyllaDB on the sidelines.

Thank you for the encouragement and for taking the time to review my comments. Seems like @s3rius and the Intreecom team are quite busy on their dev works.

I appreciate your candor and concern and will be in touch in due course.

Thanks,

Odawa

caniko commented 8 months ago

You got this :+1: