Hacker Newsnew | past | comments | ask | show | jobs | submit | lukin0110's commentslogin

InvestSuite | Senior Python Engineer, | Remote (EU only) | Full-time | https://investsuite.com/

Stack: Python, FastAPI, Pydandic, Numpy, Pandas, AWS, Docker, MongoDB https://www.investsuite.com/jobs/python-developer

InvestSuite is a fast-growing global B2B embedded wealth (front-to-middleware) InvestTech provider. We help financial institutions realize their digital wealth transformation journey and together create the most delightful investing experiences for their customers. We have 15 nationalities building in "international DNA" and clients on 4 continents. We are a place where bankers, creative designers, imagineers, mathematicians, computer & behavioral scientists meet. We are builders and growers, obsessed with innovation and the construction of exciting products that benefit the clients of our clients. We are excited to work at the crossroads of ‘the markets’, investing, economics, deep science (AI & machine learning), finance, design and the digital world. Can there be anything more challenging?

Interested? Please apply on https://www.investsuite.com/jobs/python-developer


Interesting product. Coming from the world of HFT and finance, I can see the usefulness. Applied over the careers page. Talk soon


InvestSuite | Senior Python Engineer, Senior Scala Engineer, Senior Flutter Engineer | Remote (HQ in Belgium) | Full-time | https://investsuite.com/

Stack: Python, FastAPI, Pydandic, Numpy, Pandas, AWS, Docker, MongoDB https://www.investsuite.com/jobs/python-developer

Stack: Flutter, gRPC, Dart https://www.investsuite.com/jobs/frontend-developer

Stack: Zio ecosystem, Akka, Shapeless, Monix, Kafka, Postgres https://www.investsuite.com/jobs/scala-developer

InvestSuite is a fast-growing global B2B embedded wealth (front-to-middleware) InvestTech provider. We help financial institutions realize their digital wealth transformation journey and together create the most delightful investing experiences for their customers. We have 15 nationalities building in "international DNA" and clients on 4 continents. We are a place where bankers, creative designers, imagineers, mathematicians, computer & behavioral scientists meet. We are builders and growers, obsessed with innovation and the construction of exciting products that benefit the clients of our clients. We are excited to work at the crossroads of ‘the markets’, investing, economics, deep science (AI & machine learning), finance, design and the digital world. Can there be anything more challenging?

Interested? [email protected]


InvestSuite | Senior Scala Engineer, Senior Flutter Engineer, Senior Python Engineer, | Remote (HQ in Belgium, EU-only) | Full-time | https://investsuite.com/

Scala Stack: Zio ecosystem, Akka, Shapeless, Monix, Kafka, Postgres https://www.investsuite.com/jobs/scala-developer

Flutter Stack: Flutter, gRPC, Dart https://www.investsuite.com/jobs/frontend-developer

Python Stack: FastAPI, Pydandic, Numpy, Pandas, AWS, Docker, MongoDB https://www.investsuite.com/jobs/python-developer

InvestSuite is a fast-growing global B2B embedded wealth (front-to-middleware) InvestTech provider. We help financial institutions realize their digital wealth transformation journey and together create the most delightful investing experiences for their customers. We have 15 nationalities building in "international DNA" and clients on 4 continents. We are a place where bankers, creative designers, imagineers, mathematicians, computer & behavioral scientists meet. We are builders and growers, obsessed with innovation and the construction of exciting products that benefit the clients of our clients. We are excited to work at the crossroads of ‘the markets’, investing, economics, deep science (AI & machine learning), finance, design and the digital world. Can there be anything more challenging?

We've just raised 6million in series A: https://www.investsuite.com/article/investsuite-secures-6-mi...

Interested? [email protected]


InvestSuite | Senior Scala Engineer, Senior Flutter Engineer, Senior Python Engineer, | Remote (HQ in Belgium) | Full-time | https://investsuite.com/

Stack: Zio ecosystem, Akka, Shapeless, Monix, Kafka, Postgres https://www.investsuite.com/jobs/scala-developer

Stack: Flutter, gRPC, Dart https://www.investsuite.com/jobs/frontend-developer

Stack: Python, FastAPI, Pydandic, Numpy, Pandas, AWS, Docker, MongoDB https://www.investsuite.com/jobs/python-developer

InvestSuite is a fast-growing global B2B embedded wealth (front-to-middleware) InvestTech provider. We help financial institutions realize their digital wealth transformation journey and together create the most delightful investing experiences for their customers. We have 15 nationalities building in "international DNA" and clients on 4 continents. We are a place where bankers, creative designers, imagineers, mathematicians, computer & behavioral scientists meet. We are builders and growers, obsessed with innovation and the construction of exciting products that benefit the clients of our clients. We are excited to work at the crossroads of ‘the markets’, investing, economics, deep science (AI & machine learning), finance, design and the digital world. Can there be anything more challenging?

We've just raised 6million in series A: https://www.investsuite.com/article/investsuite-secures-6-mi...

Interested? [email protected]


InvestSuite | Senior Python Engineer | Remote (HQ in Belgium) | Full-time | https://investsuite.com/

Stack: Python, FastAPI, Pydandic, Numpy, Pandas, AWS, Docker, MongoDB, ... https://www.investsuite.com/jobs/python-developer

InvestSuite is a fast-growing global B2B embedded wealth (front-to-middleware) InvestTech provider. We help financial institutions realize their digital wealth transformation journey and together create the most delightful investing experiences for their customers. We have 15 nationalities building in "international DNA" and clients on 4 continents. We are a place where bankers, creative designers, imagineers, mathematicians, computer & behavioral scientists meet. We are builders and growers, obsessed with innovation and the construction of exciting products that benefit the clients of our clients. We are excited to work at the crossroads of ‘the markets’, investing, economics, deep science (AI & machine learning), finance, design and the digital world. Can there be anything more challenging?

Interested? [email protected]


We're using FastAPI in production at InvestSuite. Highly productive framework, very well written documentation. You get jump started right away.

Only caveat with async python. Might be tricky when using 'sync' libraries. It's not always straightforward and you'll find yourself wondering why your server is blocked from time to time. It's not a problem of FastAPI, but you need to be aware that if you do a blocking call (function is not prefixed with 'async') to a db that it blocks the event loop.


I'm glad FastAPI is useful! And thanks to InvestSuite for being one of the FastAPI gold sponsors.

If you are having problems, you can ask in GitHub issues.

But for the async stuff, a simple rule of thumb is to always use normal def functions and blocking (non async) libraries, that way FastAPI will do the right thing and make sure to run it in a threadpool (thanks to Starlette, the underlying library).

And for the specific path operations (endpoints) where you need to optimize performance, then you can use async and carefully choose async libraries, or run the blocking code with run_in_threadpool, but you can leave those details and possible extra complexity for the cases that actually need the extra performance or async support.


We use fastapi in production too, but the problem we faced with sync stuff in combination with sqlalchemy was that the sessions (which we inject using Depends) were created before all the actual sync functions were executed, so the connection pool ran dry and everything became unresponsive. With flask I had a better experience because it creates the session in the same thread as the function that will handle the request. If you overload it a bit (say, 100 concurrent requests with a connection pool of 30) all the Depends calls will block because there are no threads left in the pool to actually handle the requests.

I understand that fastapi is more suited for async stuff for which it truly works great, but it would be nice if there was a idiomatic solution within fastapi and/or starlette that prevents these kind of problems.

Great work otherwise!


Thanks, it would be great if you could create an issue with a simple way to replicate the problem so that I can check it out properly.


Any plans for gevent compatibility?


Yes and it's made worse by the fact that there's no way to get the raw body of the request in a synchronous endpoint.

I also ran into some really bad validation / serialization performance degradations for large response bodies. Serializing responses with a few 100 small objects or neural network embeddings would take a function that takes 7ms and blow it up to 100-200ms.


My understanding was that if you write a regular function (`def` rather than `async def`) then FastAPI (or really Starlette which it uses under the hood) executes the function in a thread pool so that no blocking of the main event loop should occur.


I didn't explain it well in my comment. Consider the following example:

def blocking(): time.sleep(5)

@app.get("/") async def index(): blocking()

The `blocking` function will blocking the event loop. This is something you need to be aware of. Gist with a few scenarios: https://gist.github.com/lukin0110/0074ec5325224674010193bb95...


Isn't the point that you should be using `def`, not `async def` here?


Yes. But this is a very basic example. When you have an async function defined with `await` statements in it and later on in the function you do a call to a `blocking` function you need to be aware that you have to run in the threadpool.

You don't always know that a function call is blocking, because you don't always know what is happening behind the scenes of that function and on what it depends.


what is the benefit of threadpool though? am I understanding it correctly that due to GIL, python will just keep switching the threads, so instead of running A then B both at 100% speed, both will run concurrently at 50% speed (+/- overhead)?


Only if you're CPU bound, but usually your webserver is blocking on disk IO or database calls or whatever, not calculating stuff, in which case the GIL doesn't matter.


You can get benefits with IO bound work.


I really like the on going developments around Google TV, Apple TV, Netflix, ... for now the world is not ready yet for such services but will be in a few years. After the mobile, the next battle will be TV.


Like all products, spotify is a constantly improving product. The desktop app is not that great, but the fact that i can access a lot of music within a few clicks without doing anything illegal makes me happy . If you have an exotic special taste you'll have difficulties with every service i guess. I used to listen a lot to last.fm ... but i prefer "on demand" music like spotify offers. The service still needs to improve a lot, but they will get there in the end ... its the new way of listening to music. It doesn't make sence to me to "buy" a song on itunes, since everything is moving to the cloud, "owning" a song really doesnt make sence.


Indeed, it's just sweden. In the summer it can be relative hot there :) The fact that it is cold over is not the main reason. Sweden is know for its good network infra


Google Apps users could have signed up with a normal Gmail account (or create a new one). I dont understand the frustration that it wasnt possible for Google Apps since you dont really own that mail account, the domain admin can delete it!


Many people, me included, use Google Apps for personal use. You get a much more personalised/professional email address.


I am my Google Apps domain admin.

It's a 10-person Apps domain, just for my family.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: