PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱JMESPath.

JMESPath — это язык запросов, позволяющий декларативно извлекать данные из JSON-документов.

❓Как это работает?
Допустим, у нас есть JSON:

{"foo": {"bar": "baz"}}


Запрос foo.bar вернёт "baz".

🔘Работа со списками:

{"foo": {"bar": ["one", "two"]}}


Запрос foo.bar[0] вернёт "one", а foo.bar[-1] — "two".

🔘Выбор всех элементов (*):

{"foo": {"bar": [{"name": "one"}, {"name": "two"}]}}


Запрос foo.bar[*].name вернёт ["one", "two"].

🔘Работа с объектами:

{"foo": {"bar": {"name": "one"}, "baz": {"name": "two"}}}


Запрос foo.*.name вернёт ["one", "two"].

✅JMESPath упрощает обработку JSON в Python, JavaScript и других языках!

#JMESPath #JSON #DataProcessing #Automation #Python #Programming

📱Ссылка на репозиторий:
https://github.com/jmespath/jmespath.py
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍1
📱Compress_json.

compress_json – это удобная библиотека для чтения и записи сжатых JSON-файлов с автоматическим определением формата. Основана на идеях compress_pickle.

🔹Поддерживаемые форматы сжатия:

🔘gzip.

🔘bz2.

🔘lzma (или xz).

🔺Пример использования:
import compress_json

D = {"A": {"B": "C"}}

compress_json.dump(D, "data.json.gz") # Сжатие в gzip
D1 = compress_json.load("data.json.gz") # Загрузка обратно

assert D == D1


🔻Дополнительные возможности:

🔘local_load / local_dump – загрузка и сохранение в текущей директории.

🔘use_cache=True – загрузка файлов из RAM-кэша для повышения производительности.

🔘compression_kwargs / json_kwargs – передача параметров в JSON и алгоритм сжатия.

✅Сжимайте JSON-файлы легко и эффективно!

#Python #JSON #Compression #pip #DataScience

📱Ссылка на репозиторий:
https://github.com/LucaCappelletti94/compress_json
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
📱DripDrop.

DripDrop — это библиотека для Python, которая добавляет поддержку прогрессивного стриминга JSON в веб-API.

✅ Вместо того чтобы ждать, пока весь JSON будет готов, DripDrop позволяет отправлять данные по мере их появления — как React Server Components, но в мире Python и FastAPI.

🔹Прогрессивный JSON — это когда:

🔘Структура ответа приходит сразу с заглушками ($1, $2, ...),

🔘Затем сервер постепенно "достримливает" недостающие части, как только они готовы,

🔘Быстрая информация не тормозится из-за медленных операций.

⚠️Пока это Proof of Concept — но уже рабочий и с примерами.

#Python #FastAPI #Streaming #JSON #WebAPI #AsyncIO #BackendDev #OpenSource #DripDrop #DevTools #ProgressiveJSON #DanAbramov #PoC #ReactIdeas #APIInnovation

📱Ссылка на репозиторий:
https://github.com/macieyng/dripdrop
Please open Telegram to view this post
VIEW IN TELEGRAM
2⚡54👍3🔥2
📱DocStrange.

DocStrange — это универсальный инструмент для извлечения и конвертации данных из документов!

🔹Основные возможности:

🔘Умное извлечение данных (структурированный JSON, поля по схеме).

🔘Распознавание таблиц и изображений.

🔘Интеграция с LLM (оптимизировано для ИИ-обработки).

🔘Готовые демо и Python-библиотека (pip install docstrange).

🔻Примеры использования:

1️⃣Конвертация документа в Markdown.
from docstrange import DocStrange

ds = DocStrange()
markdown_text = ds.to_markdown("example.pdf")
print(markdown_text)


2️⃣Извлечение всех данных в JSON.
data = ds.to_json("example.docx")
print(data)


3️⃣Извлечение конкретных полей.
fields = ds.extract_fields("invoice.pdf", fields=["Дата", "Сумма", "Номер"])
print(fields)


4️⃣Работа с пользовательскими схемами JSON.
schema = {
"invoice_number": "Номер",
"total_amount": "Сумма",
"date": "Дата"
}
structured_data = ds.to_json("invoice.pdf", schema=schema)
print(structured_data)


#DocStrange #Python #OCR #Документы #Конвертация #CloudProcessing #LocalProcessing #Markdown #JSON #CSV #HTML #ИнтеллектуальноеИзвлечение #LLM #Демо #OpenSource #MIT

📱Ссылка на репозиторий:
https://github.com/NanoNets/docstrange
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2👍2🔥21
📱Skelet.

Skelet — новое Python-решение для удобной, безопасной и централизованной работы с настройками!

Соберите все конфигурации проекта в одном месте. Обеспечьте безопасность типов, потокобезопасность и защиту данных. Skelet автоматически валидирует значения, загружает настройки из файлов и переменных окружения, а также использует простой и приятный pythonic-синтаксис.

🔹Особенности Skelet:

🔘Строгая типизация и автоматическая валидация.
🔘Секретные поля (скрываются в логах и исключениях).
🔘Гибкая загрузка из TOML/JSON/YAML/ENV.
🔘Конфликты между полями и продвинутые проверки.
🔘Ленивые значения по умолчанию.
🔘Потокобезопасность и встроенные мьютексы.
🔘Колбэки при изменении значений.
🔘Конвертеры, кастомные ключи, алиасы.

🔻Пример:
from skelet import Storage, Field, NonNegativeInt

class ManDescription(Storage):
name: str = Field()
age: NonNegativeInt = Field(
validation={'You must be 18 or older to feel important': lambda x: x >= 18}
)


✅Skelet — когда хочется всё красиво, гибко и безопасно.

#python #skelet #config #settings #pythondev #backend #programming #typedpython #pythonic #libraries #opensource #devtools #конфигурации #настройки #валидация #типизация #TOML #YAML #JSON

📱Ссылка на репозиторий:
https://github.com/pomponchik/skelet
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍1