ch
Feedback
Находки в опенсорсе: Python

Находки в опенсорсе: Python

前往频道在 Telegram

Легкие задачки в опенсорсе из мира Python Чат: @opensource_findings_chat

显示更多
970
订阅者
无数据24 小时
-47
-630

数据加载中...

吸引订阅者
七月 '26
七月 '26
+7
在0个频道中
六月 '26
+3
在0个频道中
Get PRO
五月 '26
+11
在0个频道中
Get PRO
四月 '26
+7
在0个频道中
Get PRO
三月 '26
+23
在0个频道中
Get PRO
二月 '26
+9
在0个频道中
Get PRO
一月 '26
+15
在0个频道中
Get PRO
十二月 '25
+13
在0个频道中
Get PRO
十一月 '25
+97
在0个频道中
Get PRO
十月 '25
+180
在3个频道中
Get PRO
九月 '25
+24
在0个频道中
Get PRO
八月 '25
+47
在0个频道中
Get PRO
七月 '25
+38
在0个频道中
Get PRO
六月 '25
+35
在1个频道中
Get PRO
五月 '25
+72
在1个频道中
Get PRO
四月 '25
+59
在1个频道中
Get PRO
三月 '25
+586
在9个频道中
日期
订阅者增长
提及
频道
28 七月0
27 七月0
26 七月0
25 七月0
24 七月+1
23 七月0
22 七月0
21 七月0
20 七月0
19 七月0
18 七月0
17 七月+1
16 七月0
15 七月+3
14 七月0
13 七月0
12 七月0
11 七月0
10 七月0
09 七月0
08 七月0
07 七月0
06 七月+1
05 七月+1
04 七月0
03 七月0
02 七月0
01 七月0
频道帖子
Обновить mypy до 2.3 в dry-python/returns https://github.com/dry-python/returns/pull/2462 #python #typing

2
всех приглашаю для участия в следующем году :)
598
3
KaiCode, our annual festival of open source projects, is announcing winners of the 2026 competition (and rewarding some cash
KaiCode, our annual festival of open source projects, is announcing winners of the 2026 competition (and rewarding some cash to help them grow): raprogramm/yew-nav-link 6★ Perfect $2048 ahoo-wang/wow 296★ Excellent $1024 choplogic/chop-logic-components 5★ Awesome $512 These projects were selected out of all 153 submitted this year. As you see, popularity didn't matter, but only the quality of code, discipline of development, strictness of testing and delivery pipelines, and the accuracy of documentation. Many thanks to nine Jury members, who manually reviewed all 14 finalists. Thanks to the Steering Committee (Alexander Medvednikov and Nikita Sobolev) — they validated the results of the Jury. Thanks to Claude Code — he helped us not to miss important details in every finalist. You are welcome to submit your open source project to the next year competition!
529
4
没有文字...
0
5
🚀 New issue to wemake-services/django-modern-rest by @ZhdanovAM72 📝 Add a built-in JWT access token verification flow. (#1129) FEATURE Thesis Add a built-in JWT access token verification flow. For example, django-modern-rest could provide a reusable controller: from dmr.security.jwt.views import VerifyTokenSyncController class TokenVerifyController(VerifyTokenSyncController): pass Expected behavior: • accept an encoded token from the request body • decode and validate the JWT • reject malformed tokens • reject expired tokens • reject refresh tokens when an access token is expected • verify that the token subject belongs to an existing active user • return a successful empty response when the token is valid The exact public API can be different. It could be implemented as a controller, auth class, or reusable JWT verification component. Reasoning django-modern-rest already provides JWT obtain and refresh controllers, but applications commonly also need a token verification endpoint. Without built-in support, each project has to implement the same logic manually: from django.conf import settings from dmr.exceptions import NotAuthenticatedError from dmr.security.jwt.token import JWToken token = JWToken.decode( encoded_token=encoded_token, secret=str(settings.SECRET_KEY), algorithm="HS256", ) if token.extras.get("type") != "access": raise NotAuthenticatedError user = User.objects.get(pk=token.sub) if not user.is_active: raise NotAuthenticatedError This logic is not application-specific. It is part of the common JWT API surface. Providing it in django-modern-rest would reduce duplication and make JWT support more complete. It would also make error handling more consistent with the existing obtain and refresh controllers. #feature #good_first_issue #help_wanted #django_modern_rest sent via relator
781
6
🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 Setup `lychee` link check tool for `pre-commit` (#1094) It allows checking that all links are actually valid. This will helps us finding dead / renamed links in the docs / code. Hooks: https://github.com/lycheeverse/lychee/blob/master/.pre-commit-hooks.yaml Docs: https://lychee.cli.rs/ Example config: https://github.com/msgspec/msgspec/blob/main/lychee.toml (but I would prefer to have it in the same folder as zizmor config is). #documentation #feature #good_first_issue #help_wanted #django_modern_rest sent via relator
736
7
🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 `test_user_create_models_example` is flaky (#1089) Please fix it :) =========================== short test summary info ============================ FAILED tests/test_integration/test_model_fk/test_model_fk.py::test_user_create_models_example[False] - AssertionError: assert {'email': 'jd... 'id': 1, ...} == {'email': 'jd...itiveInt, ...} Omitting 4 identical items, use -vv to show Differing items: {'tags': [{'name': 'Jessica Johnson'}]} != {'tags': IsList({'name': 'Jessica Johnson'}, {'name': 'Jessica Johnson'}, check_order=False)} Full diff: { 'email': 'jdominguez@example.com', 'role': { 'name': 'Jason Burgess', }, - 'tags': IsList({'name': 'Jessica Johnson'}, {'name': 'Jessica Johnson'}, check_order=False), - 'id': IsPositiveInt, + 'tags': [ + { + 'name': 'Jessica Johnson', + }, + ], + 'id': 1, 'created_at': '2026-06-19T10:39:36.779795Z', } ============ 1 failed, 2506 passed, 10 skipped in 268.28s (0:04:28) ============ https://github.com/wemake-services/django-modern-rest/actions/runs/27820624206/job/82332576787 #bug #good_first_issue #help_wanted #django_modern_rest sent via relator
725
8
«Институт логики» приглашает разработчиков свободного ПО на конкурс «Код логики» Стартовал первый этап конкурса Open-Source-проектов разработчиков свободного программного обеспечения «Код логики». Конкурс проводится при финансовой поддержке «Базальт СПО» и частных лиц. Организатор конкурса — АНО «Институт логики, когнитологии и развития личности». Кто может участвовать: физические лица — разработчики свободного ПО, граждане РФ старше 18 лет, налоговые резиденты. Что нужно сделать: предоставить значимый вклад в существующий Open-Source-проект, опубликованный в публичном репозитории под свободной лицензией. Вклад может быть сделан в свой или сторонний проект. Призовой фонд: денежные премии. Всего 3 призовых места, максимальное количество победителей — до 6 человек. Победитель получит 1 000 000 рублей. Сроки: заявки принимаются до 15 августа 2026 года на сайте института. Награждение победителей состоится 2–4 октября на XXII ежегодной конференции разработчиков свободных программ. Подробности об условиях конкурса доступны на сайте: https://logic.ru/ На протяжении 35 лет институт поддерживает разработчиков свободного ПО и образовательные технологии. Институт развивался как академическая площадка на стыке логики, искусственного интеллекта, образования и моделирования мышления. Миссия АНО «Институт логики» — помогать исследователям, специалистам и учебным учреждениям реализовывать проекты, влияющие на развитие технологий. Конкурс Open-Source-проектов разработчиков свободного программного обеспечения — часть этой работы. Ссылка: https://logic.ru/
755
9
🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 Add default admin page for `dmr/security/jwt/blocklist` (#1054) Right now our app for jwt blocklisting has a default model: https://github.com/wemake-services/django-modern-rest/blob/master/dmr/security/jwt/blocklist/models.py But, it does not have a default admin.py file. Good example: https://github.com/Dresdn/django-modern-rest/blob/3324d0aecf32509b5434df7e8826d7be6ddac7a8/dmr/security/token/admin.py This is a very easy task :) #feature #good_first_issue #help_wanted #django_modern_rest sent via relator
671
10
🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 Flaky test: `test_sse_ping_with_last` (#1046) Happened on mypyc wheels cp314-macosx_x86_64 =================================== FAILURES =================================== ___________________________ test_sse_ping_with_last ____________________________ dmr_async_rf = <dmr.test.DMRAsyncRequestFactory object at 0x114ddad60> @pytest.mark.asyncio async def test_sse_ping_with_last( dmr_async_rf: DMRAsyncRequestFactory, ) -> None: """Ensures that valid sse produces valid results.""" request = dmr_async_rf.post('/whatever/', data={'produce_last': True}) response = await dmr_async_rf.wrap(_PingSSE.as_view()(request)) assert isinstance(response, StreamingResponse) assert response.streaming assert response.status_code == HTTPStatus.OK assert response.headers == { 'Cache-Control': 'no-cache', 'Content-Type': 'text/event-stream', 'X-Accel-Buffering': 'no', 'Connection': 'keep-alive', } > assert await get_streaming_content(response) == ( b'data: 1\r\n' b'\r\n' b': ping\r\n' b'\r\n' b'data: 2\r\n' b'\r\n' b': ping\r\n' b'\r\n' b': ping\r\n' b'\r\n' b'data: 3\r\n' b'\r\n' ) E AssertionError: assert b'data: 1\r\n...ta: 3\r\n\r\n' == b'data: 1\r\n...ta: 3\r\n\r\n' E E At index 42 diff: b'd' != b':' E E Full diff: E - (b'data: 1\r\n\r\n: ping\r\n\r\ndata: 2\r\n\r\n: ping\r\n\r\n: ping\r\n\r\ndata' E ? -------------- E + (b'data: 1\r\n\r\n: ping\r\n\r\ndata: 2\r\n\r\n: ping\r\n\r\ndata: 3\r\n\r\n') E ? +++++++++++ + E - b': 3\r\n\r\n') For some reason data: 3 was not sent. Let's fix it. #bug #good_first_issue #help_wanted #django_modern_rest sent via relator
727
11
🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 Flaky test: `test_redis_sync_leaky_bucket` (#1043) Output: ______________________ test_redis_sync_leaky_bucket[True] ______________________ tests/test_integration/test_throttling/test_backends/test_redis_backend/test_redis_backend.py:110: in test_redis_sync_leaky_bucket assert response.status_code == HTTPStatus.TOO_MANY_REQUESTS E assert 200 == <HTTPStatus.TOO_MANY_REQUESTS: 429> E + where 200 = <HttpResponse status_code=200, "application/json">.status_code E + and <HTTPStatus.TOO_MANY_REQUESTS: 429> = HTTPStatus.TOO_MANY_REQUESTS ================================ tests coverage ================================ =========================== short test summary info ============================ FAILED tests/test_integration/test_throttling/test_backends/test_redis_backend/test_redis_backend.py::test_redis_sync_leaky_bucket[True] - assert 200 == <HTTPStatus.TOO_MANY_REQUESTS: 429> + where 200 = <HttpResponse status_code=200, "application/json">.status_code + and <HTTPStatus.TOO_MANY_REQUESTS: 429> = HTTPStatus.TOO_MANY_REQUESTS ============ 1 failed, 2479 passed, 10 skipped in 243.50s (0:04:03) ============ It fails from time to time: https://github.com/wemake-services/django-modern-rest/actions/runs/26490639540/job/78007463856?pr=1042 #bug #good_first_issue #help_wanted #django_modern_rest sent via relator
516
12
Добавить два поля в openapi.Schema https://github.com/wemake-services/django-modern-rest/issues/1039 #django_modern_rest #openapi
455
13
https://github.com/python/cpython/issues/150345 #docs #cpython
494
14
🚀 New issue to ag2ai/faststream by @dzeveloper 📝 Feature: Consumer-Only Mode for KafkaBroker (#2879) When deploying a subscriber-only service, it's common to provision Kafka credentials scoped strictly to READ + DESCRIBE ACLs on specific topics. Today, KafkaBroker always starts a producer during broker.start(), regardless of whether any @broker.publisher is registered. This causes the producer to attempt a connection using consumer-only credentials, which fails or raises errors at the broker/ACL level. Proposal: # Option A: broker-level flag broker = KafkaBroker("localhost:9092", consumer_only=True) # Option B: skip producer if no publishers are registered (automatic) # No API change needed — broker inspects registered publishers at start() #enhancement #good_first_issue #confluent #aiokafka #faststream #ag2ai sent via relator
731
15
https://github.com/python/cpython/issues/149953 #c #cpython
670
16
🚀 New issue to ag2ai/faststream by @zueve 📝 Bug: (#2868) Describe the bug Can't forward client_rack to aiokafka consumer through FastStream Kafka API. How to reproduce Include source code: from faststream import FastStream from faststream.kafka import KafkaBroker # Attempt to configure at broker level broker = KafkaBroker( "localhost:9092", client_rack="us-east-1a", # not supported ) app = FastStream(broker) And/Or steps to reproduce the behaviour: 1. Create a KafkaBroker. 2. Try to pass client_rack to the broker constructor. 3. Observe that the parameter is not accepted. 4. There is no alternative way to configure it via subscriber(...) either. Expected behavior KafkaBroker should allow passing client_rack (or generic consumer kwargs) and forward it to the underlying aiokafka.AIOKafkaConsumer. Observed behavior client_rack is not supported in KafkaBroker constructor, nor in subscriber configuration, so it cannot be passed to aiokafka. Screenshots N/A. Environment Running FastStream 0.6.7 with CPython 3.14.5 on Linux Additional context aiokafka.AIOKafkaConsumer supports client_rack since 0.14.0 version #bug #good_first_issue #aiokafka #faststream #ag2ai sent via relator
680
17
🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 Convert our `Empty` class usage to `typing_extensions.Sentinel` (#995) Current way: django-modern-rest/dmr/types.py Lines 48 to 55 in 5ca7975 New (modern) way: https://typing-extensions.readthedocs.io/en/latest/#typing_extensions.Sentinel 1. We need to change how EmptyObj is defined to be EMPTY: Final = Sentinel('EMPTY') 2. We need to change all isinstance(..., Empty) to check for the sentinel This is a very easy task for new contributors :) #feature #good_first_issue #help_wanted #django_modern_rest sent via relator
654
18
Поддержать конвертацию t-строк(!) и обычных строк в текстовые виджеты aiogram-dialog https://github.com/Tishka17/aiogram_dialog/issues/529
635