Находки в опенсорсе
10.6K subscribers
11 photos
1 video
3 files
816 links
Привет!

Меня зовут Никита Соболев. Я занимаюсь опенсорс разработкой полный рабочий день.

Тут я рассказываю про #python, #c, опенсорс и тд.
Поддержать: https://boosty.to/sobolevn
РКН: https://vk.cc/cOzn36

Связь: @sobolev_nikita
Download Telegram
​​Taichi (太极) is a programming language designed for high-performance computer graphics. It is deeply embedded in #python, and its just-in-time compiler offloads compute-intensive tasks to multi-core CPUs and massively parallel GPUs.

https://github.com/taichi-dev/taichi

Example code: https://github.com/taichi-dev/taichi/blob/master/examples/fractal.py#L1-L31

Output:
​​An experiment to create a community driven language-learning platform.

> My goal is to start a community-driven language-learning platform that gives it's users and contributors a way to influence its future and adapt it to special requirements. To achieve that, I release all source code under the GPLv3 free software license, which guarantees end users the freedom to run, study, share, and modify the software.

https://github.com/kantord/LibreLingo

#python #svelte
​​interrogate checks your code base for missing docstrings.

Documentation should be as important as code itself. And it should live within code. #python standardized docstrings, allowing for developers to navigate libraries as simply as calling help() on objects, and with powerful tools like Sphinx, pydoc, and Docutils to automatically generate HTML, LaTeX, PDFs, etc.

interrogate will tell you which methods, functions, classes, and modules have docstrings, and which do not. Use interrogate to:

- Get an understanding of how well your code is documented;
- Add it to CI/CD checks to enforce documentation on newly-added code;
- Assess a new code base for (one aspect of) code quality and maintainability.

Let’s get started!

https://interrogate.readthedocs.io/en/latest/

Personal opinion: I really like the incremental addoption feature.

#docops
​​Breaking news!

Your instant dev environment.
Get the full #vscode experience without leaving GitHub.

Code, build, test, debug, and deploy with a complete development environment in your browser.

Personal opinion: I got lucky enough to be invited to test this feature. And it works amazingly well! I really love #github, it is my favourite social network. Now with embeded IDE!

https://github.com/features/codespaces
Let's talk about the future and the current state of this project.

It all started as a hobby: I love open-source and I used to spam with awesome project links to all my friends and colleagues. At some point, I have asked myself: why couldn't a larger community benefit from these projects? And I thought: "I should probably start a public channel to share my opensource findings".

In a year our small project has grown to more than 3500 people. And that's pretty impressive! And of course, I have plans to grow our community even more.

As a result of this growth, I have started to receive lots of unwanted attention. Mostly in a form of ad proposals like "coding courses", blockchain and crypto markets, shady "new age" HR platforms, and outsource companies.

I, personally, cannot allow any bullshit into this feed. So, I have decided to make a policy.

1. No ads are posted, ever (except for things that I am personally involved in, like conferences and workshops I organize)
2. Opensource projects, articles, and talks can still be sent to me directly. I have removed my contacts from the group description not to receive any more spam, but they are listed in my GitHub account. I will post awesome ones!
3. Instead of unethical ads, if you find the content helpful, learn something new, or improve your daily life, then to support this channel you can:

- Directly donate to us on Github Sponsors: https://github.com/sponsors/wemake-services You will also receive "GitHub Sponsor" badge
- Just follow me on GitHub to show your interest and gratitude: https://github.com/sobolevn

That's it! Happy holidays.

P.S. This will go to the pinned post:
Находки в опенсорсе pinned «Support this project: donate on GitHub Sponsors https://github.com/sponsors/wemake-services or follow me on GitHub https://github.com/sobolevn This allows us to stay ad-free and post cool things daily.»
​​Pyinstrument is a #python profiler. A profiler is a tool to help you 'optimize' your code - make it faster. It sounds obvious, but to get the biggest speed increase you should focus on the slowest part of your program. Pyinstrument helps you find it!

Features:
- Output beatiful html and terminal reports
- Profile a specific chunk of code
- Profile a web request in Django and Flask
- Give only 30% overhead to your code

https://github.com/joerick/pyinstrument
​​You stuffed command shell with aliases, tools and colors but you lose it all when using ssh. The mission of xxh is to bring your favorite #shell wherever you go through the ssh without root access and system installations.

Works with bash, zsh, fish, and xonsh.

https://github.com/xxh/xxh

#python
A Gatsby theme for creating Primer documentation sites.

Doctocat makes it easy to set up a documentation site so you can focus on what's important: writing docs. You can start with just several clicks.

Made by GitHub.

https://primer.style/doctocat/getting-started

#js #react #docops
​​This extension integrates Draw.io into #vscode

Features
- Edit .drawio or .dio files in the Draw.io editor, as xml or both.
- Edit .drawio.svg files with embedded Draw.io diagrams (might be slow for diagrams with > 400 nodes).
- To create a new diagram, simply create an empty .drawio or .drawio.svg file and open it!
.drawio.svg are valid .svg files.
- Uses an offline version of Draw.io by default.
- An online Draw.io url can be configured.
- A Draw.io theme can be selected.

https://github.com/hediet/vscode-drawio

#ts #docops
​​Tig is an ncurses-based text-mode interface for git. It functions mainly as a #git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands.

https://github.com/jonas/tig

#c
rssfs: A RSS reader as a file system

Are you unsure how to read RSS feeds? Why don't you just mount them? What does this software do?
It will mirror RSS and Atom feeds as file systems. Example file system structure for one feed with two articles:

/tmp/mnt/rssfs/Open Source Feed/Hello World.html
/tmp/mnt/rssfs/Open Source Feed/Second Article.html


https://github.com/dertuxmalwieder/rssfs

#go
Breaking news!

Deno@1.0 is released! https://deno.land/v1

For those who don't know, Deno is new secure runtime for #js and #ts. Its features are:

- Deno is (and always will be) a single executable file
- Deno is careful to not deviate from standardized browser JavaScript APIs
- First class TypeScript support
- Rust APIs, because Deno is written in #rust
- Many others!

I would love to play with it on the weekends. Highly related: https://www.youtube.com/watch?v=M3BM9TB-8yA
​​#python package for object oriented headers, HTTP/1.1 style.

Parse headers to objects and objects to headers. No matter if you are currently building software using HTTP or IMAP (message, email), you should not worry about easily accessing header and associated attributes, adjectives or values.

> I have seen so many chunks of code trying to deal with these headers; often I saw this implementation:

https://github.com/Ousret/kiss-headers
​​Quill provides a Quoted Domain Specific Language (QDSL) to express queries in #scala and execute them in a target language. The library's core is designed to support multiple target languages, currently featuring specializations for Structured Query Language (SQL) and Cassandra Query Language (CQL).

Features:

- Boilerplate-free mapping: The database schema is mapped using simple case classes.
- Quoted DSL: Queries are defined inside a quote block. Quill parses each quoted block of code (quotation) at compile time and translates them to an internal Abstract Syntax Tree (AST)
- Compile-time query generation: The ctx.run call reads the quotation's AST and translates it to the target language at compile time, emitting the query string as a compilation message. As the query string is known at compile time, the runtime overhead is very low and similar to using the database driver directly.
- Compile-time query validation: If configured, the query is verified against the database at compile time and the compilation fails if it is not valid. The query validation does not alter the database state.

https://github.com/getquill/quill
​​Despite all the recent hype, setting up a new #ts library can be tough. Between Rollup, Jest, tsconfig, Yarn resolutions, ESLint, and getting VSCode to play nicely....there is just a whole lot of stuff to do (and things to screw up). TSDX is a zero-config CLI that helps you develop, test, and publish modern TypeScript packages with ease - so you can focus on your awesome new library and not waste another afternoon on the configuration.

Features: linting, testing, building, and local development.

https://github.com/jaredpalmer/tsdx
​​Cloister: The helper application to manage cluster of #elixir nodes.

> Cloister is being developed with the drop-in support of Docker. Distributed Erlang is a charm to work with unless your DevOps team is engaged in containerizing the whole universe. They usually have many cryptic arguments full of words you as an old-school software engineer would barely understand, and sooner or later you are faced with a fact that now we run everything in a dockerized environment, which means no one can guarantee your application has an IP/DNS, or would not have automatically restarted depending on the current moon phase.

> That is where cloister might step into to help. It takes care about the cluster handling, based on either the list of node names (IP/DNS, old school,) or a service name exposed by docker.

https://github.com/am-kantox/cloister
​​A lightweight text editor written in #lua

It aims to provide something practical, pretty, small and fast, implemented as simply as possible; easy to modify and extend, or to use without doing either.

Additional functionality can be added through plugins which are available from the plugins repository; additional color themes can be found in the colors repository. The editor can be customized by making changes to the user module.

https://github.com/rxi/lite

P.S. One more?!