Fastapi

Our main python framework. Initially, we used flask-restplus, but it quickly became clear that it had limited swagger documentation, and the io would be large.

If the problem with io was clear, then with the documentation it was not very good. We needed thorough and as detailed documentation as possible, while not delving into swagger as such, but just writing code (we are still in python). On another weekend, googling what is happening in the world of open source, I came across fastapi. The developers positioned it as a lightweight, productive and production-ready solution. Having rewrote my pet project on it, I realized for sure that it suits us for all our wishes:

documentation is generated from code. Moreover, if you like to operate with more abstract objects, then everything becomes even more convenient;
support for both coroutines and regular functions. We do not tie our hands with an event loop;
a lot of batteries out of the box: jwt authorization and more, sockets.

All in all, a great tool!

Dramatiq

If someone is talking about rabbitmq, then the de facto standard framework in python is Celery.

He has a large community, there is support in various web frameworks, there are many projects on it, but the main disadvantage, it seems to me, is overload.

Since we didn’t need complex logic in this place, after going through the testing stage with a pet project, it was decided to try Dramatiq.

Aerospike

The central database through which all publishers, consumers and services of the recognition system communicate.

This base is easy to maintain, scale, besides, in part of the system, it has already been used, so the choice was obvious

We needed a fast ACID NOSQL database through which it would be possible to synchronize the work of all workers, for example, so that one group of workers does not start processing if the previous one has not finished yet, because the processing of the next one depends on the results of the previous one.

because the processing of the next one depends on the results of the previous one.

Clickhouse

The scenario for working with data is what queries are made, how often and in what proportion; how much data is read for requests of each type – rows, columns, bytes; how data reads and updates relate; what is the working size of the data and how locally it is used;

We use the well-known analytical DBMS from Google for data aggregation: we build analytics, dashboards, control the total recognition time, etc.

whether transactions are used and with what isolation;

Yargy

There is a standard task of extracting named entities from text (NER). The input is text, the output is structured, normalized objects, for example, with names, addresses, dates.

Yargy is a set of grammars and rules for extracting facts from unstructured text.

normalized objects, for example, with names, addresses, dates.
Python Connects It All

Partnered with Us

US roulette sites
keyword position tracker
Fintech
Onlinecasinoaustralia.online - Australia's best reviews
zahranicne online casino
Crypto exchanges for Canadians
indoor navigation
Stake Ethereum Casinos
كازينو عربي
https://nonukgccasinos.com/poker-sites-not-on-gamstop
najlepsze kasyna online

Latest News

  • How SQL powers the digital world: from Apps to Analytics
    We live in a digital world powered by apps, websites, and cloud platforms. These platforms are smarter and interconnected in today’s digital-powered world. Do you know that there is one programming language that runs it all – SQL (Structured Query Language). SQL is a special language that is more than just a tool for querying …
  • Will AI Take Your Programming Job? A Realistic Look at the Future of Code
    In recent years, artificial intelligence has grown exponentially with a mix of awe and anxiety. There are many tools like DeepSeek, ChatGPT, and GitHub Copilot that are changing the way we live as they are capable of building apps, answering questions, and creating websites – all with a single prompt. The question many people wonder …
  • The Testing Pyramid in Practice: How to Balance Unit, Integration, and End-to-End Tests
    The testing pyramid is a well-known concept in software engineering. At the base are unit tests, followed by integration tests, and finally, a thin layer of end-to-end (E2E) tests. In theory, most tests should be unit-level, running fast and isolated. Integration tests should verify components working together. E2E tests validate complete workflows through the system. …