Opensource Findings


Гео и язык канала: Россия, Английский
Категория: Технологии


Links and concise reviews on open-source tools, news, and talks about language-design, trends and fundamentals. Write-only.
If you like this project, you can sponsor it directly: https://github.com/sponsors/wemake-services

Связанные каналы  |  Похожие каналы

Гео и язык канала
Россия, Английский
Категория
Технологии
Статистика
Фильтр публикаций




всем привет! я очень долго обещал сделать бесплатный курс на ютюбе для всех желающих. и вот я, наконец, начал его делать! 🎉

встречайте: @sobolevn' rel='nofollow'>https://www.youtube.com/@sobolevn

уникальность формата в том, что рассматриваю одну узкую тему с трех уровней сложности: junior, middle, senior. так что, контент должен быть интересным для всех уровней Python разработчиков!

обратите внимание, что курс не для тех, кто идет учить питон с нуля. он для тех, кто уже хоть немного знает, как погромировать на питоне.

важные ссылки:
- все материалы курса: https://github.com/sobolevn/the-best-...
- мой гитхаб: https://github.com/sobolevn
- поддержать мою работу: https://boosty.to/sobolevn
- вступить в наше новое глобальное сообщество: https://discord.python.ru

буду рад обратной связи!
в ближайших планах:
- починить звук и свет
- избавиться от слова "интерсный" в описании примерно всего 😄
- сделать много новых видео по разным темам


Hi 👋

We are happy to announce the second edition of our long-awaited testing course!
The second edition will be even more advanced and feature-full 🙂

We all know that sometimes people struggle with tests, because there are so many things to get right:
- Frameworks
- Mocking
- Data generation
- Flakyness
- Speed
- Different levels and kinds of tests

Sounds hard? We are here to help!

We will start with just one free webinar, where we will cover the most essential part, it is a foundation fore every developer who writes tests.

We even created a rather big project to be tested as a part of the homework for the later parts of this course. Check it out: https://github.com/tough-dev-school/python-testing-homework

Date: 06.09.2023
Time: 19:00 GMT+3
Language: ru

Register via our telegram bot to get a translation link: @tough_dev_bot
And prepare your questions 🙂

The course itself will start on 11.09
https://education.borshev.com/python-testing

See you there! 👍️️


I am starting a full-featured "Testing in Python" course.
https://education.borshev.com/python-testing

I've committed to / co-authored / authored multiple popular tools in Python testing world, including: pytest (and plugins), unittest, mock, mimesis (and other data-generation tools), hypothesis, django-test-migrations, mutmut, etc, and etc.

So, I know about the testing internals pretty well.

I also know how to keep your tests readable and fast.
If you want to learn directly from me (https://github.com/sobolevn/), consider registering for our course: https://education.borshev.com/python-testing

Details:
- 3 webinars once a week
- 1 for free as a welcome gift
- 2 big and complex homeworks based on https://github.com/tough-dev-school/python-testing-homework with p2p / my reviews
- Friendly community :)

Starting date: 20.03.2023
Language: ru

Register https://education.borshev.com/python-testing
I also have a 10% off with Nick promo code.

See you! 🧡


Hi 👋

We continue our tradition of creating inspiring and content-heavy courses for Python developers.

This time we decided to focus on testing. We all know that sometimes people struggle with tests, because there are so many things to get right:
- Frameworks
- Mocking
- Data generation
- Flakyness
- Speed
- Different levels and kinds of tests

Sounds hard? We are here to help!

We will start with just one free webinar, where we will cover the most essential part. But, we will have more coming soon, stay tuned!

We even created a rather big project to be tested as a part of the homework for the later parts of this course. Check it out: https://github.com/tough-dev-school/python-testing-homework

Date: 01.03.2023
Time: 18:00 GMT+3
Language: ru

Register via our telegram bot to get a translation link: @tough_dev_bot
And prepare your questions :)

See you!


We are starting a free course about typing in Python!

We will cover:
- Runtime implementation of typing.py and when it can be helpful
- How to write mypy plugins?
- How to write type-safe code in Python using advanced techniques, such as: type level programming, dependent types, monads, phantom types and many more!

3 lectures + optional homework.
11 oct - 31 oct 2022
Language: ru

Register, while we still have open seats left!

https://education.borshev.com/python-typing






I have great news! We are going to have another GitHub meetup with awesome guests:
- Yuri Selivanov, CPython core dev, asyncio co-author
- Mike McQuaid, brew (talk will be translated 🇺🇸 -> 🇷🇺)
- Nikita Sobolev (dry-python and mypy core) (it's me!)

We are going to speak about open-source and everything around it.
Join us! We invite everyone, but the content will be in 🇷🇺 only 🙂

Tuesday, February 22, 2022 (Today)
5:00 PM to 6:00 PM MSK

https://www.meetup.com/github-planeta/events/281817625/


​​High-performance load testing tool, written in #go.

Features:
- Protocol Agnostic - Currently supporting HTTP, HTTPS, HTTP/2. Other protocols are on the way.
- Scenario-Based - Create your flow in a JSON file. Without a line of code!
- Different Load Types - Test your system's limits across different load types.

https://github.com/ddosify/ddosify


​​KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.

KubeLinter runs sensible default checks, designed to give you useful information about your Kubernetes YAML files and Helm charts. This is to help teams check early and often for security misconfigurations and DevOps best practices. Some common examples of these include running containers as a non-root user, enforcing least privilege, and storing sensitive information only in secrets.

KubeLinter is configurable, so you can enable and disable checks, as well as create your own custom checks, depending on the policies you want to follow within your organization.

When a lint check fails, KubeLinter reports recommendations for how to resolve any potential issues and returns a non-zero exit code.

https://github.com/stackrox/kube-linter

#go #k8s #devops


​​Kubegres is a #k8s operator allowing to deploy one or many clusters of postgresql instances and manage databases replication, failover and backup.

Features:
- It can manage one or many clusters of Postgres instances. Each cluster of Postgres instances is created using a YAML of "kind: Kubegres". Each cluster is self-contained and is identified by its unique name and namespace.
- It creates a cluster of PostgreSql servers with Streaming Replication enabled: it creates a Primary PostgreSql pod and a number of Replica PostgreSql pods and replicates primary's database in real-time to Replica pods.
- It manages fail-over: if a Primary PostgreSql crashes, it automatically promotes a Replica PostgreSql as a Primary.
- It has a data backup option allowing to dump PostgreSql data regularly in a given volume.
- It provides a very simple YAML with properties specialised for PostgreSql.

https://github.com/reactive-tech/kubegres

#go #devops


​​A #rust graphical tool to visualize binary data.

It colorizes bytes according to different rules and renders them as pixels in a rectangular grid. This allows users to identify interesting parts in large files and to reveal image-like regions.

The program allows you to control various parameters like the offset into the file, the stride, the width of the rectangular grid as well as the way in which (groups of) bytes are colorized.

https://github.com/sharkdp/binocle


​​SQLFluff is a dialect-flexible and configurable SQL linter. Designed with ELT applications in mind, SQLFluff also works with Jinja templating and dbt. SQLFluff will auto-fix most linting errors, allowing you to focus your time on what matters.

Although SQL is reasonably consistent in its implementations, there are several different dialects available with variations of syntax and grammar. SQLFluff currently supports the following SQL dialects (though perhaps not in full):
- ANSI SQL - this is the base version and on occasion may not strictly follow the ANSI/ISO SQL definition
- BigQuery
- Exasol
- Hive
- MySQL
- PostgreSQL (aka Postgres)
- Snowflake
- SQLite
- Teradata
- Transact-SQL (aka T-SQL)

https://github.com/sqlfluff/sqlfluff

#python




​​The backlash to modern front end development is gaining steam, with good reason: single-page apps have ruined the web. Can we rescue it without going backwards? In this talk, Rich Harris presents a way to do just that. Rich Harris is a graphics editor at the New York Times, where he builds JavaScript apps to help explain the news. He is also the creator of Rollup, the JavaScript module bundler, and Svelte, the front end framework.

What’s wrong with Single-Page apps? There are a lot of critiques. A non-exhaustive list of terrible things about single-page apps include:
You’ll need a bloated JavaScript framework and performance will suffer
It comes with complex tooling and is less resilient, since it won’t work without JavaScript
It will be buggy and accessibility issues

JavaScript failing is a fact of life. So what’s a developer to do? SPAs solve problems to the traditional approach, but are still problematic. Rich presents a new framework for thinking about how we can get the best of both the MPA and SPA worlds: transitional apps.

What’s a transitional app? Transitional apps samples elements from both traditional and modern architecture. The term is borrowed from interior design’s framing of “transitional design.” Transitional apps are, like multi-page apps, server-side rendered for fast initial loads, resilient since they work without JS by default, and provide a consistent experience with accessibility features built in. But like a single-page application, they also have a single codebase, fast navigation, persistent elements, and client-side state management.

Learn more about transitional apps, and how to get the best of both worlds in Rich’s talk.

#js #svelte


​​Open-source platform that brings an Airtable experience for your database and allows you to build any automation or cloud functions for your product.

Manage Firestore data in a spreadsheet-like UI, write Cloud Functions effortlessly in the browser, and connect to your favorite third party platforms such as SendGrid, Twilio, Algolia, Slack and more.

Features:
- Powerful spreadsheet interface for Firestore
- Supercharge your database with cloud functions and ready made extension: use APIs or NPM modules
- Rich and flexible data fields: more that 30 different types
- Collaborate with your team

https://github.com/rowyio/rowy

#ts


​​kbar is a simple plug-n-play React component to add a fast, portable, and extensible command+k interface to your site.

Command+k interfaces are used to create a web experience where any type of action users would be able to do via clicking can be done through a command menu.

With macOS's Spotlight and Linear's command+k experience in mind, kbar aims to be a simple abstraction to add a fast and extensible command+k menu to your site.

Features:
- Built in animations and fully customizable components
- Keyboard navigation support; e.g. ctrl n / ctrl p for the navigation wizards
- Keyboard shortcuts support for registering keystrokes to specific actions; e.g. hit t for Twitter
- Nested actions enable creation of rich navigation experiences; e.g. hit backspace to navigate to the previous action
- A simple data structure which enables anyone to easily build their own custom components

https://github.com/timc1/kbar

#react #js #ts


​​Prevent Kubernetes misconfigurations from reaching production (again 😤 )! Datree is a CLI tool to ensure K8s manifests and Helm charts follow best practices as well as your organization’s policies.

It’s far more effective than manual processes, such as sending an email to a slew of developers, begging them to set various limits, which likely falls on deaf ears because developers are already overwhelmed.

The CLI integration provides a policy enforcement solution for Kubernetes to run automatic checks on every code change for rule violations and misconfigurations. When rule violations are found, Datree produces an alert which guides the developer to fix the issue inside the CI process — or even earlier as a pre-commit hook — while explaining the reason behind the rule.

Right now, there are 30 battle-tested rules for you to choose from.

https://github.com/datreeio/datree

#k8s #devops #go


⚡️ Breaking news!

Python3.10 was released several hours ago (not so breaking news, right?). One of the main new features is pattern matching.

Today, I am releasing dry-python/returns@0.17.0 with full pattern matching support. Here's an example of how you can use it together with Result type:

from returns.result import Failure, Success, safe

@safe
def div(first_number: int, second_number: int) -> int:
return first_number // second_number

match div(1, 0):
# Matches if the result stored inside `Success` is `10`
case Success(10):
print('Result is "10"')

# Matches any `Success` instance and binds its value to the `value` variable
case Success(value):
print('Result is "{0}"'.format(value))

# Matches if the result stored inside `Failure` is `ZeroDivisionError`
case Failure(ZeroDivisionError):
print('"ZeroDivisionError" was raised')

# Matches any `Failure` instance
case Failure(_):
print('The division was a failure')

Cool, isn't it? Today Python made one more giant step for better functional programming support. And no doubt, that dry-python is the first one to officially support it.

Check out our:
- Docs: https://returns.readthedocs.io/en/latest/pages/result.html#pattern-matching
- Release notes: https://github.com/dry-python/returns/releases/tag/0.17.0
- Python3.10 release notes: https://docs.python.org/3.10/whatsnew/3.10.html

Soon we will be adding pattern matching support for mypy as well. So, it would be type checked correctly.

Big day for #python!

Показано 20 последних публикаций.