Находки в опенсорсе
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
​​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
​​Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It sanitizes your cluster based on what's deployed and not what's sitting on disk. By scanning your cluster, it detects misconfigurations and ensure best practices are in place thus preventing potential future headaches. It aims at reducing the cognitive overload one faces when operating a Kubernetes cluster in the wild. Furthermore, if your cluster employs a metric-server, it reports potential resources over/under allocations and attempts to warn you should your cluster run out of capacity.

Popeye is a readonly tool, it does not alter any of your Kubernetes resources in any way!

https://github.com/derailed/popeye

#go #devops #yaml
A #vim plugin that simplifies the transition between multiline and single-line #rust code.

Update: turns out other languages are also supported.

https://github.com/AndrewRadev/splitjoin.vim
I’ve spent a good deal of my professional life arguing against using protobuffers. They’re clearly written by amateurs, unbelievably ad-hoc, mired in gotchas, tricky to compile, and solve a problem that nobody but Google really has. If these problems of protobuffers remained quarantined in serialization abstractions, my complaints would end there. But unfortunately, the bad design of protobuffers is so persuasive that these problems manage to leak their way into your code as well.

#protobuf
​​A modern Python test framework designed to help you find and fix flaws faster.

Features:
- Descriptive test names: describe what your tests do using strings, not function names.
- Modular test dependencies: manage test setup/teardown code using fixtures that rely on Python's import system, not name matching.
- Powerful test selection: limit your test run not only by matching test names/descriptions, but also on the code contained in the body of the test.
- Colourful, human readable output: quickly pinpoint and fix issues with detailed output for failing tests.
- Parameterised testing: easily parameterise your tests using each.
- Expect API: A simple but powerful assertion API inspired by Jest.
- Cross platform: Tested on Mac OS, Linux, and Windows.
- Zero config: Sensible defaults mean running ward with no arguments is enough to get started.

https://github.com/darrenburns/ward

#python