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

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

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

Связь: @sobolev_nikita
Download Telegram
Plot: a domain-specific language (DSL) for writing type-safe HTML, XML and RSS in #swift. It can be used to build websites, documents and feeds, as a templating tool, or as a renderer for higher-level components and tools. It’s primary focus is on static site generation and Swift-based web development.

https://github.com/JohnSundell/Plot
​​Lighthouse CI is a set of commands that make continuously running, asserting, saving, and retrieving Lighthouse results as easy as possible.

https://github.com/GoogleChrome/lighthouse-ci

#js
​​Imagine an infinitely generated world that you could explore endlessly, continually finding entirely new content and adventures. What if you could also choose any action you can think of instead of being limited by the imagination of the developers who created the game?

Welcome to AI Dungeon 2!

Website: http://www.aidungeon.io/
Play: https://colab.research.google.com/github/nickwalton/AIDungeon/blob/master/AIDungeon_2.ipynb

#python
​​Do you still wait for #ts support for Svelte? There's this tool to help you in the meantime.

When run as a script and provided a file glob, will type check all svelte/js/ts files in that glob (and all their dependencies). Performs its magic using svelte2tsx and Typescript.

https://github.com/halfnelson/svelte-type-checker

#js #svelte
Simple zsh plugin that automatically sends out a notification when a long running task has completed.

Useful for those commands you don't predict will take long to run or just plain forgot to keep track of. Leave the task running and go do something else - auto-notify will let you know when the task is done!

https://github.com/MichaelAquilina/zsh-auto-notify
​​Traggo is a tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans.

With tags, Traggo tries to be as customizable as possible, f.ex. if you work on different projects you could add a project-tag. If you like to see statistics from the different things you do, you could add a type-tag with values like email, programming, meeting. You can do it just as you like.

https://github.com/traggo/server

#go
​​Quay: Build, Store, and Distribute your Applications and Containers.

High-level features include:

- Docker Registry Protocol v2
- Docker Manifest Schema v2.1, v2.2
- AppC Image Discovery via on-demand transcoding
- Image Squashing via on-demand transcoding
- Authentication provided by LDAP, Keystone, OIDC, Google, and GitHub
- ACLs, team management, and auditability logs
- Geo-replicated storage provided by local filesystems, S3, GCS, Swift, and Ceph
- Continuous Integration integrated with GitHub, Bitbucket, GitLab, and git
- Security Vulnerability Analysis via Clair 🔥
- Swagger-compliant HTTP API

https://github.com/quay/quay

#devops #docker
One more tool to minify #docker images: https://github.com/docker-slim/docker-slim

Don't change anything in your Docker container image and minify it by up to 30x making it secure too!

Don't worry about manually creating Seccomp and AppArmor security profiles. You shouldn't have to become an expert in Linux syscalls, Seccomp and AppArmor to have secure containers. Even if you do know enough about it wasting time reverse engineering your application behavior can be time-consuming.

docker-slim will optimize and secure your containers by understanding your application and what it needs using various analysis techniques. It will throw away what you don't need, reducing the attack surface of your container. What if you need some of those extra things to debug your container? You can use dedicated debugging side-car containers for that (more details below).

Some results:
- from node:alpine - 66.7MB => 34.7MB (minified by 1.92X)
- from python:2.7-alpine - 84.3MB => 23.1MB (minified by 3.65X)

#devops
​​A statuspage generator that lets you host your statuspage for free on GitHub. Uses issues to display incidents and labels for severity.

https://github.com/jayfk/statuspage

#python #sre
​​Put anything in your Mac OS X menu bar!

The BitBar app lets you put the output from any script or program right in your Mac OS X menu bar. And it's completely free. An impressive number of plugins have already been contributed by a wide range of developers just like you, and this site makes it easy to find them.

https://getbitbar.com/

#swift #macos
​​Awesome tool to compliment recent BitBar utility: Hidden Bar lets you hide menu bar items to give your Mac a cleaner look.

https://github.com/dwarvesf/hidden

#macos #swift
​​Don't let anyone block you! We're introducing a new adaptive, #go-inspired,
#rust async runtime that automatically detects blocking behaviour and just continues to run and run. Don't worry about separate blocking and non-blocking tasks anymore!

https://github.com/async-rs/async-std
A lot of people struggle when they have to create their first #python package on Github. There are a lot of obstacles: CI, docs, build, and testing. Stuggle no more!

wemake-python-package solves this problem. Based on our experience of building and maintaining tens open-source projects for 3+ years. Now use it as a template for your own projects! It is as easy to start as:


pip install cookiecutter jinja2-git lice and cookiecutter gh:wemake-services/wemake-python-template

It features poetry, pytest, sphinx, and wemake-python-styleguide.

https://github.com/wemake-services/wemake-python-package
​​Interesting case. This library is 10x faster than requests and has the same API. 93 lines of code, 1 developer, and 0 dependencies.

How is that possible? The secret is that uses #nim under the hood to do all the heavy lifting. And #python API for end users.

https://github.com/juancarlospaco/faster-than-requests
​​Get productive on unfamiliar source code.

Software developers spend most of their time figuring out existing source code, but common code editing tools offer little help for this task. Debuggers only allow detailed inspection of one narrow code path. 'Find all references' helps you in navigating between files, but doesn't provide the context to see the big picture of all relevant dependencies. Sourcetrail provides both overview and details by combining an interactive dependency graph, a concise code view and efficient code search, all built into an easy-to-use cross-platform developer tool. It supports you in exploring legacy code, understanding the implementation and refactoring the software architecture, making it a fun experience for the whole family!

Supported Languages: #c,#cpp, #java, #python, and possibly custom!

https://www.sourcetrail.com/
​​Get things from one computer to another, safely.

This package provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. The two endpoints are identified by using identical “wormhole codes”: in general, the sending machine generates and displays the code, which must then be typed into the receiving machine.

https://github.com/warner/magic-wormhole

#python
​​GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in nix systems or through your browser.

https://github.com/allinurl/goaccess

#c