#tools-and-devops

1 messages · Page 25 of 1

deep estuary
#

i also have it so that the CI runners that join the tailscale network can only talk to port 22 on the deployment VMs so can't talk to anything else going on in that network

brazen forge
#

oh, huh, I didn't know that

zenith fog
#

Is this a good place to share my debugger?

dusty forum
topaz holly
#

Hi,im a intermediate level python developer and i want to know that how can i learn automation with python... are there some specific roadmaps to follow or what?.... i also want to know the freelancing scopes in automation

dusty forum
mint cipher
ashen burrow
vagrant zinc
#

making my own roblox executor

#

i use wearedevs api

uneven light
#

Azure is growing and will surpass AWS usage because of its built in eco system, we have microsoft team,Outlook,365 like whole microsoft suite. We got everything in single suite. And integrating Azure services with others it's service will be easy.

sage basin
wind solstice
#

Hello guys , Ill have a call with the release manager in the deployment domain tomorrow. I was being told to know and read about the basics of AWS, deployment , http, API's . Like they told its a fresher role for reliability engineer.

What and how should I prepare and they said mostly in this role,tools will be used.

tender grove
crimson spruce
tender grove
tired tapir
summer seal
#

What are we replacing Github with?

astral apex
#

I decided to try Renovate. It says it works with uv with "lockFileMaintenance"

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:recommended",
    ":disableDependencyDashboard"
  ],
  "lockFileMaintenance": {
    "enabled": true
  }
}

But my pre-commit maintains a requirements.txt for GitHub, Snyk, etc, etc

repos:
  - repo: https://github.com/astral-sh/uv-pre-commit
    rev: e5ef0574ef824f2a51084062e6506068e458126e  # frozen: 0.9.24
    hooks:
      - id: uv-lock
      - id: uv-export
        args: ["--quiet", "--frozen", "--all-groups", "--output-file=requirements.txt"]
      - id: uv-export
        args: ["--quiet", "--frozen", "--all-groups", "--format=pylock.toml", "--output-file=pylock.toml"]

And the PRs that Renovate is sending are only touching the requirements.txt softFeels

From 0c54ca2b29e1c017e84e9cd4c6eb730df912a43d Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 13 Jan 2026 18:02:06 +0000
Subject: [PATCH] Update dependency starlette to v0.51.0

---
 requirements.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/requirements.txt b/requirements.txt
index 35b1ffe..62ac55c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -327,9 +327,9 @@ sphinxcontrib-serializinghtml==2.0.0 ; platform_machine == 'x86_64' and sys_plat
     --hash=sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331 \
     --hash=sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d
     # via sphinx
-starlette==0.50.0 ; platform_machine == 'x86_64' and sys_platform == 'linux' \
-    --hash=sha256:9e5391843ec9b6e472eed1365a78c8098cfceb7a74bfd4d6b1c0c0095efb3bca \
-    --hash=sha256:a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca
+starlette==0.51.0; platform_machine == 'x86_64' and sys_platform == 'linux' \
+    --hash=sha256:4c4fda9b1bc67f84037d3d14a5112e523509c369d9d47b111b2f984b0cc5ba6c \
+    --hash=sha256:fb460a3d6fd3c958d729fdd96aee297f89a51b0181f16401fe8fd4cb6129165d
     # via fastapi-slim
 types-pillow==10.2.0.20240822 ; platform_machine == 'x86_64' and sys_platform == 'linux' \
     --hash=sha256:559fb52a2ef991c326e4a0d20accb3bb63a7ba8d40eb493e0ecb0310ba52f0d3 \
#

Can Renovate bump both the uv.lock and the requirements.txt together?

gentle solstice
#
{
  "postUpgradeTasks": {
    "commands": [
      "uv export --frozen --all-groups --output-file=requirements.txt",
      "uv export --frozen --all-groups --format=pylock.toml --output-file=pylock.toml"
    ]
  }
}
astral apex
gentle solstice
#

dang

#

might want to open an issue

#

or open a discussion page

fallow mist
#

Where do i check for #jobs

desert skiff
agile tapir
#

sigh today i legitmatly want llm tools native to linux for pattern matching in linux(bashrc) to deal with github repo pattern matching. today is a sad day

maiden cobalt
#

hi guys ! quick questions. Would you use such a tool as computational notebook ?

#

for research purposes we were exploring different types of notebooks that could add some additional value to overcome some of the limitations if rge existing vanilla notebooks

#

and we ended up with a set of features which we implemented in this one

#

the obvious one is the "code on canvas" but there are other set of other feature

inland sinew
#

@near mist

cunning mountain
#

I'm making a portfolio maker

#

Where you run the file and put all required things in config.json

#

Download the "small" package of dependencies and done !

#

It will make an index.html for you and deploy that to GitHub pages through your account. (Username and PAT)

#

Imma put it to GitHub soon as it finishes

subtle mango
dense osprey
#

yo Chat... anybody knows how to FRP bypass an android??

crimson spruce
#

!warn 1124092593853190214 I've deleted your post. Advertising is not allowed anywhere on the server.

rancid schoonerBOT
#

:incoming_envelope: :ok_hand: applied warning to @rose estuary.

heavy knot
#

Hey everyone 👋 just sharing a project I’ve been working on, in case anyone’s interested:

🖥️ EasyPyDesktop
Windows desktop app → native, pure Python code generation
Beginner-friendly, ideal for small or casual apps
Generate a Windows .exe in one click
Beta version – Pro license included (all features unlocked until May 2026)
Custom plugins • Embedded Python runtime • Built-in pip manager

https://github.com/emo44/easypy-desktop

GitHub

Easy WYSIWYG IDE for Python &amp; PySide6. Design desktop apps with drag-and-drop ease, dynamic plugins, and a project-aware AI Assistant. Compile to standalone EXE in one click. - emo44/easypy...

cosmic frost
#

is it normal for large python projects to essentially have there own unique "harness" for development environment setup and such? Like, it feels like every python project I jump into I have to familiarize myself with this bespoke setup system where as, coming from my .NET background, the solution is essentially ready to build and run with 1 click a lot of the times.

twilit forum
thorny shell
# cosmic frost is it normal for large python projects to essentially have there own unique "har...

I've been using "just" to make that problem a little easier. The goal -- which I haven't quite completed -- is that someone can "git clone" my project, install "just", and then type "just runme" and just will take care of doing all the preperatory stuff in the right order.

Alas, there's still stuff they have to install manually: python itself, of course; "just", and typically a few other things.

twilit forum
#

put a Makefile to install just? lemon_smirk

thorny shell
#

booo

lone spruce
#

Yo can some one help me? I wanna setup my tool i have the script but i need help for starting it its python tool

heavy knot
#

hello guys I am new to this community, I designed a n built a python more of a library kind of thing for performing scientific, robotics and physics calculations. It is named CalCulus. I have been working on this almost daily but now u am kind of out if ideas so I want more ideas for version improvement. If free check out the link -

#

0httpsgithubgithub.comLegedsDaDCalCulus

neon shard
#

much code, very wow

astral apex
astral apex
#

Hey how’d you know my expression?

neon shard
#

@heavy knot this is not how you should do things 🥴

You should have one repo, add commits as you do work, add a tag e.g. v0.4.0 when ready for release and make a release at that tag

#

So you have all history in one repo

#

Rather than this bizarre one repo per version with ~1 commit each

eager rose
#

wow that's a new one

cerulean hollow
#

mini rant: I'm struggling to see the benefits of using ArgoCD to deploy my k8s resources. I had another team set it up for me, they added a few 100 lines of yaml code, an extra layer for my team to debug, and and it's hard to dry-run changes locally. All for... drift detection and prevention (and IAA)? Idk... The cons outweigh the benefits IMO. Someone prove me wrong change my mind please.

brazen forge
#

you listed the main pro (automatic drift detection)

I'm not sure what you mean by

a few 100 lines of yaml code, an extra layer for my team to debug

do you mean they made a Helm chart?

cerulean hollow
brazen forge
#

ah, I see

#

and what about "the extra layer to debug"?

#

what do you want to debug?
whether the generated manifest is correct?

cerulean hollow
#

Furthermore, the team that set it up for us did a lot of value file overriding, so now I have several values files PER environment that I must update (as opposed to two, one global file and one env specific file for each env).

snow pasture
#

is there a site for single script python code

astral apex
visual oxide
hardy plaza
#

Added Kubernetes support to the web app deployment platform I have been building for last few years https://github.com/openrundev/openrun. The whole config for creating an app is just:

app(path="/streamlit/uber", source="github.com/streamlit/demo-uber-nyc-pickups", spec="python-streamlit")

That Starlark config replaces thousands of lines of YAML. It defines what path (or domain) to install the app at, where to get the source code from and how to do the request routing. Schedule a sync and it automatically monitors for any updates to app config or source code and creates/updates the Kubernetes resources.

You can get rid of Jenkins/GitHub Actions for build, ArgoCD/Flux for CD and any IDP etc. Same config can be used on single node, so your config is not tied to Kubernetes, you can run it on a single node easily.

This is limited for now to deploying web apps, no support for deploying additional services like databases etc.

twilit forum
#
from collections import namedtuple

Access = namedtuple("Access", ["address", "type"])

a = Access(100, "w")
a.address
#   ^------ With the cursor here, do goto_definition
#

Neovim + pylsp is not happy

neon shard
#

use NamedTuple

#

!d typing.NamedTuple

rancid schoonerBOT
#

class typing.NamedTuple```
Typed version of [`collections.namedtuple()`](https://docs.python.org/3/library/collections.html#collections.namedtuple).

Usage...
twilit forum
#

But nevertheless, the code is like that and I'm probably not changing it. I was interested in the lsp issue.

#

Question though. If I want to override even just __repr__, then it's better to derive from dataclass, right?

vague silo
#

I've used a lot of typing.NamedTuples where I add methods

#

__repr__ should probably work. I usually use it for classmethods

worn root
#

That's what I do usually. NamedTuple and methods

crimson spruce
#

!clban 1468278465265664155 some kind of scam

rancid schoonerBOT
#

:incoming_envelope: :ok_hand: applied ban to @timid wolf permanently.

neon shard
#

it's essentially a drop in replacement that does typing, you can just update your namedtuple definitions and all users shouldn't really notice unless they look really closely

neon shard
#

actually, got to definition does work for me there with pyright, but I still stand with dropping ⁨namedtuple⁩ for ⁨NamedTuple⁩ to get typing support

neon shard
#

(⁨NamedTuple⁩ also looks exactly like a dataclass in how you define it, so that's another good thing about it)

#

for context on typing

#

hmm, I just remembered that you might be using ⁨ty⁩, in which case yeah ⁨namedtuple⁩ doesn't behave well but ⁨NamedTuple⁩ does

#

I think this might be in part because with ⁨NamedTuple⁩ it's basically just a normal class definition, the code will know how to deal with that

namedtuple⁩ is a weird case where a bunch of codegen is done based on the strings passed, and support for it is special handling of ⁨namedtuple⁩ in particular

twilit forum
neon shard
#

where does it allow specifying types anywhere?

twilit forum
#

Seems I was wrong, can't find it in

#

Yeah, noticed

#

It's annoying that there are many ways to do almost the same thing. Very Non-zen

twilit forum
neon shard
twilit forum
#

Sure

#

Still bad current state 😐

neon shard
#

idk, the old thing is there for source compatibility, you really shouldn't use it in modern code

though arguably the old thing should be deprecated

twilit forum
neon shard
twilit forum
#

Nice, let's see what astral thinks about checking it in regular py files as well

cobalt lintel
#

5276pepehello hey guys, would a gui for uv be useful?

river crystal
zinc beacon
short peak
brazen forge
neon shard
#

Yeah, it does indeed work, you just need to make sure that you have the PYI checks enabled

> ruff check a.py
PYI024 Use `typing.NamedTuple` instead of `collections.namedtuple`
 --> a.py:3:10
  |
1 | from collections import namedtuple
2 |
3 | person = namedtuple('person', ['name', 'age'])
  |          ^^^^^^^^^^
  |
help: Replace with `typing.NamedTuple`

Found 1 error.
neon shard
twilit forum
cobalt lintel
quaint shell
#

very stupid question but how does one turn a .py file into an exe?

versed glen
#

That's not a stupid question. There are ways to package python modules together with the interpreter into an exe or installer, like nuitka, but I'm not an expert by far. You might want to ask in #packaging-and-distribution

zinc beacon
# brazen forge did he check the ralph-loop plugin?

he is familiar, yes. This is more of a guard-rails oriented tool for code reviewing with auto-fix capabilities. I will suggest he add something to the readme to specify how it differs from the ralph-loop plugin tho. Thanks for the feedback!

thorny shell
quaint shell
#

need help?

thorny shell
#

no thanks

alpine mortar
#

Hi there! I want to automate sending emails with Gmail. Do I need any permission? Do I need api?
I read I need two factors authentication.
Any suggestions?

astral apex
neon shard
#

Couldn't you just use smtp?

astral apex
#

SMTP doesn’t support MFA so you have to make a token for your account

dry carbon
#

Guyz how can I impress my crush

#

By tools aur programs

sudden igloo
# dry carbon Guyz how can I impress my crush

Very subjective question. You might not be able to. You need something they are interested in and something you can do for them or something you can make that they are interested in.

Speaking from experience, it is not hard to impress people if you can do something they want that they themselves can't. Maybe just do stuff you're interested in and if they get to know you they'll find it interesting. If you want someone to like you back it takes more than impressing them though. Not something you just arbitrarily do without an opportunity imo.

#

Most people would be impressed though if they had a software idea you could implement and if you could make it and deliver it to them efficiently (i.e. part of the devops name in this channel), if you can make software and continuously deliver it safely and rapidly after changes a lot of people would be impressed.

gentle solstice
gentle solstice
#

Don't date your boss.

sudden igloo
dry carbon
#

Guyzz give me a some tips yar

gentle solstice
#

💸💸💸 How's this?

#

20% gratuity seems standard

dry carbon
#

Dayuum I'm f*ck ing 17 yarr 😔

heavy knot
tall laurel
#

Let’s say I have scripts foo and bar. If I want to share some stuff in the two scripts in a utils file, but still want foo and bar (some shebang python stuff) to be clean… basically my best bet for path management/imports is just to add file.parent to path I guess???

Wondering if there have been advances in Pythonpath management tech for smaller scripts

rugged hare
#

what else is in your project? You meant a utils directory I think?

tall laurel
# rugged hare what else is in your project? You meant a utils directory I think?

So the longer version is i have this project with a scripts directory, so scripts/foo, scripts/bar, etc. You call something like scripts/do-menial-task to get a thing done

Most of these scripts are just bash/shell scripts, but for argument parsing in particular I’ve been trying to get us to use python scripts.

In bash script land we can share utils with a ‘source ./utils.sh’ call.

We don’t use relative imports in our overall Python project… but maybe relative imports for scripts is just what makes sense for doing the same thing in Python land

(The objective: being able to call Python scripts with ./scripts/foo or ./scripts/bar just as transparently as with shell scripts. Tho I just realized our shell scripts likely also have issues when called outside of the base of the project as well)

rugged hare
tall laurel
#

One better, we have direnv and the like on top of that

#

… so maybe we set up Pythonpath from the outset to just have good imports.

rugged hare
tall laurel
#

Hmmm so that installs the root into the environment. If our scripts are shebanged with #!/usr/bin/env python then that should find the right python/venv when invoked and then I can import packages “properly”

grim crag
#

Looking for 1 Python repo to try a small GitHub Action that flags GitHub Actions cache regressions in PRs (cache key churn / hit-rate drops) and posts a short Job Summary + optional PR comment with “what changed / now what”.

Alpha install is low-risk: a vendored dist-only bundle (action.yml + dist/*) committed into the repo with SHA256 sums + commit metadata + easy rollback. No SaaS backend. It only uses the repo’s GITHUB_TOKEN to read Actions run/job metadata; PR comment is optional.

Time: ~10–15 min setup, baseline builds asynchronously from normal runs, then one quick “bad cache key” PR test.

Pilot docs + example output: https://gist.github.com/eivindsjursen-lab/ffe0fa52d55388fdda15f80719bf95af

If you can try it (single job or matrix), reply here and I’ll DM the bundle + minimal workflow snippet.

Gist

Cache Health Gate private alpha pilot docs + sample output - PERMISSIONS.md

fervent scarab
#

Now day we use ai to create ai and use the ai we make to create the another ai and that ai create the best ai and the best ai create the expert ai and....

#

we all lost the job

rugged hare
gaunt girder
#

hey, im working on a project that uses pygetwindow to determine the location of a window on the screen and focus it. its important that i have it set to a specific coordinate, but i cant figure out how it uses coordinates... my screen resolution is 2400 x 1600 and setting the position of the window to half of that does not put the top left corner in the center, any idea why?

#

the source code for the function and my code calling it

#

and theres the window, tucked in a lil corner...

fervent scarab
# gaunt girder hey, im working on a project that uses pygetwindow to determine the location of ...

Yeah that’s normal. The coordinates in pygetwindow are based on the top-left cornor of the screen, not the center. So when you do moveTo(1200, 800) on a 2400×1600 screen, you’re just placing the top-left corner of the window at that point, not the window itself centered there.

If you want the window centered, you have to subtract helf of the window’s width and height from the screen center. Something like:
center_x = 2400 // 2 - window.width // 2
center_y = 1600 // 2 - window.height // 2
window.moveTo(center_x, center_y)

Otherwise the window will always appear offset because the coordinate refers to the corner, not the middle.

junior bobcat
#

Once again thinking about Docker. I have a Dockerfile for a project that has a bunch of packages that should be in a monorepo but aren't. As a compromise, I'd like to add these packages as git submodules to the repository that manages the dockerfile and turn this repository into a uv workspace. Something like this:

Project/
├── workspace-foo/
│   └── pyproject.toml
├── workspace-bar/
│   └── pyproject.toml
├── not-workspace-baz
├── Dockerfile
└── pyproject.toml

Problem: cache invalidation galore. If Project is the build context and I mount the build context to install the workspace, then changes to not-workspace-baz or the Dockerfile invalidate that layer. I was concerned about the intermediate layer for installing dependencies but I forgot about the lockfile so I think it will be fine?

twilit forum
#

I have this monorepo structure:

pyproject.toml
tools/
└── tool-a/main.py
└── tool_b/main.py

But mypy doesn't like this, it says main is a duplicated module.

Currently each tool is added as separate mypypaths, which makes the main modules all have the same name "main". What is a better structure?

thorny shell
#

maybe you somehow need to run mypy some so that it only "sees" one tool subdirectory at a time

astral apex
#

Why can't you just mypy tools/?

twilit forum
#

One till has a dash in its name, so that also makes mypy choke.
And I'm not sure if I should sprinkle __init__.py files all the way down.

twilit forum
# astral apex

I don't use uv nor Github so not sure how applicable your picture is to my case. Do you have any identically named files in the two projects?

twilit forum
#

Here is the exact message mypy gives, all files represented in the tree are empty:

~/projects/mypy_packages_test$ tree
.
├── pyproject.toml
└── tools
    ├── foo-a
    │   └── main.py
    └── foo_b
        └── main.py

4 directories, 3 files
~/projects/mypy_packages_test$ mypy .
tools/foo_b/main.py: error: Duplicate module named "main" (also at "./tools/foo-a/main.py")
tools/foo_b/main.py: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#mapping-file-paths-to-modules for more info
tools/foo_b/main.py: note: Common resolutions include: a) using `--exclude` to avoid checking one of them, b) adding `__init__.py` somewhere, c) using `--explicit-package-bases` or adjusting MYPYPATH
Found 1 error in 1 file (errors prevented further checking)
twilit forum
#

ty solves the same without any issue 👀

astral apex
twilit forum
#

what you see is what it is

astral apex
#

i.e., do you not have __init__.py files?

twilit forum
#

no init files, no nothing

#

correct

astral apex
#

So that’s why

astral apex
willow pagoda
#

--explicit-package-bases technically fixes it for that minimal example, but it deconflicts them by prepending the directories to their module name (tools.foo_b.main) which i imagine would mess up resolution of other imports if you have modules in each tool's directories

#

though i guess that would be accurate if you run your tools with -m, e.g. sh /mypy_packages_test $ python -m tools.foo_b.main

twilit forum
#

Sprinkling init file is not doable with a folder with a dash in the name:

$ touch __init__.py
$ touch tools/__init__.py
$ touch tools/foo-a/__init__.py
$ touch tools/foo_b/__init__.py
$ mypy .
foo-a is not a valid Python package name
#

I'm pretty sure adding epxlicit package bases, doesn't help (at least as mypy setting in pyproject.toml, but let's try it)

willow pagoda
#

oh right, i had checked without the dash in my example

twilit forum
#

Hmm! removing the init files and passing explicit seems to work for this case

$ mypy . --explicit-package-bases
Success: no issues found in 2 source files
#

I wonder what failed with my larger example and that setting in pyproject.toml 🤔

#

aha, setting these (maybe stupid) MYPYPATH reintroduces the duplicated error:

$ MYPYPATH=tools/foo-a:tools/foo_b mypy . --explicit-package-bases
tools/foo_b/main.py: error: Duplicate module named "main" (also at "./tools/foo-a/main.py")
tools/foo_b/main.py: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#mapping-file-paths-to-modules for more info
tools/foo_b/main.py: note: Common resolutions include: a) using `--exclude` to avoid checking one of them, b) adding `__init__.py` somewhere, c) using `--explicit-package-bases` or adjusting MYPYPATH
Found 1 error in 1 file (errors prevented further checking)
willow pagoda
#

yeah it falls apart under more scrutiny, tested with the following layout: py tools/ ├── tool-a/ │ ├── main.py │ │ import mod │ │ print(mod.x) │ └── mod.py │ x = 1 └── tool_b/ ├── main.py │ import mod │ print(mod.y) └── mod.py y = 2 sh (test)> py tools\tool-a\main.py 1 (test)> py tools\tool_b\main.py 2 (test)> mypy --explicit-package-bases . tools\tool_b\main.py:2: error: Module has no attribute "y" [attr-defined] Found 1 error in 1 file (checked 4 source files)

#

im not a frequent user of mypy though, maybe there's another option?

twilit forum
#

replacing mypy with ty might be the way forward, but i'm not sure ty is up to par with mypy yet

astral apex
#

Mypy is able to see the package roots as the bases

#

This works just fine in my monorepo posted above

twilit forum
twilit forum
rancid schoonerBOT
astral apex
#

The “implicit” part is an outer shell with, for example, your company name
Your actual code folders are still expected to have __init__.py files.

astral apex
twilit forum
#

(I can't find any in the screenshot)

astral apex
twilit forum
#

Python is so complicated, 😭

astral apex
#

vendor_products is one of the projects/tools so each of its sub folders with the actual tool code in it gets an init file

astral apex
twilit forum
#

In this regard

astral apex
#

If code, __init_.py
If no code, no __init_.py

twilit forum
#

Packages, imports. Relative imports, python path,.. I've never been able to understand it

twilit forum
twilit forum
astral apex
gentle solstice
astral apex
#

huh

twilit forum
steep coral
#

I've heard "2nd party dependency" to be used for the code you control, but pull in using the same tooling as external 3rd party packages

#

but it's not like the actual tooling can make a distinction between these and proper 3rd party packages

distant sigil
#

not sure what is the right forum for this question - has anyone been able to add the pandas library to their IDE? I've tried these 2 different installation packages conda-forge and PyPi and I end up spending hours troubleshooting those apps and have not yet made it to download Pandas library. Is there any other option for getting it?

versed glen
distant sigil
#

I'm using Pycharm 2025.3.3

sudden igloo
distant sigil
#

no so far I have downloaded conda-forge and trying to figure out how that works

sudden igloo
distant sigil
#

I knew there had to be an easier way - thanks so much

sudden igloo
versed glen
#

There's also a gui widget in the left bottom side where you can see the installed packages, and search for packages to install

#

And if you type import pandas or whatever in a script in your project, pycharm will suggest to install the package

deft sequoia
#

hi guys, has anyone worked with nerdctl here?

gentle solstice
open laurel
sudden igloo
#

Are immutable servers literally immutable or just in principle? Take a simple example: I deploy an nginx server with some static files and I want to change the configuration, so normally I'd ssh in, update that and reload it, probably automating that.

I would assume that I can have an immutable server in principle by provisioning the server, configuring it, verifying it works and never modifying it again, only changing it through replacing it with another, not that I have to bake everything or most of everything into a golden image or something.

I'll concede that I might misunderstand what immutable servers are and if I do I feel like there is a valid underlying concept here that is being overlooked. The CEO of pulumi has this article of an example of "cattle not pets" which seems very similar.

https://www.pulumi.com/blog/deploy-wordpress-aws-pulumi-ansible/

The article by Martin Fowler on phoenix servers just says they're servers that are burnt down frequently and can rise from the ashes like a phoenix, but this thoughtworks article implied to me that only using golden images is valid? Even though I'm pretty sure I can easily get Phoenix servers while frying up base images from providers like digitalocean, even if in theory stuff could break due to mirrors being down, bad updates, and so on, but it feels comparable to any normal risk you take when managing most servers to me. 🤷‍♀️

https://martinfowler.com/bliki/PhoenixServer.html
https://www.thoughtworks.com/en-us/insights/blog/moving-to-phoenix-server-pattern-introduction

rapid sparrow
# sudden igloo Are immutable servers **literally** immutable or just in principle? Take a simpl...

Only in principle.

Servers are immutable practically means u don't install anything with apt there after you created it. Also no modifications to /etc configs. But most important not having things like self updated python, installable dependencies should be frozen
You are allowed installing, modifying system level apps only during server image building stage like with Packer.

On server boot, lightweight init can make small modifications to /etc, booting docker daemon and etc, but it should be part of infrastructure code and universal to all servers, and like within one second fast without installing anything

And apps you launch as containers without needing to ssh it.
Docker images are version stored in Docker registry. Server just pulls different docker image versions

Also from point of view of work production grade immutable server means your containers do not have volumes mapped to host. Manage static files in S3, have any state of volumes in network attachable ones.
That allows easily servers scaling horizontally and recreating without regrets easily

rapid sparrow
#

For homelab I went more simple approach: just docker with volumes mapped to host, and controlling docker over ssh with opentofu. I broke the rules by having host mapped volumes, but as long as I backup and copy this single folder, server recreating/migrating is still manageably simple for me, despite forgetting everything a year later

#

Your application can be having config controlled by your container scheduling solution and defined as part of infra as a code, changeable without making new docker image

#

The important part in IAC code able to control all those app configurations remotely, without someone doing manual ssh to server and managing app configs outside of IAC. App management should be entirely in IAC for easy server recreation (which will become super easy if statics in S3 and volumes are remotely attachable)

#

If your server management is right like I described above, your server upgrade and rollback becomes simple as upgrading containerized app. Same exactly server image at all servers will run for sure with same deps for years if needed. Screwed up upgrade? Easy rollback to previous saved server image

sudden igloo
# rapid sparrow Only in principle. Servers are immutable practically means u don't install anyt...

The infrastructure as code book mentions baking images as well as frying them where updates even when making golden images are allowed.

And s3 does not work for me on my budget, at least the services I'm using at least, it's vulnerable to unsophisticated attacks that run up the bills because no rate limiting (digitalocean spaces in my case) and they only charge for bandwidth, other providers charge per request so it's not like putting a caching service in front would stop 404s which you also are billed for.

For me, I feel strongly like it would make sense to use an s3 bucket but replicate it to servers running nginx for public access, with rate limiting, and handle upgrades or management by swapping servers out and redoing the process.

sudden igloo
rapid sparrow
# sudden igloo The infrastructure as code book mentions baking images as well as frying them wh...

The infrastructure as code book mentions baking images as well as frying them where updates even when making golden images are allowed.
i was not able to comprehend it properly. But just to be sure, servers are meant to be changed by swapping their Server Images through terraform/pulumi and etc only.
Applications running in containers aren't part of this forbiddence.

And s3 does not work for me on my budget, at least the services I'm using at least, it's vulnerable to unsophisticated attacks that run up the bills because no rate limiting (digitalocean spaces in my case) and they only charge for bandwidth, other providers charge per request so it's not like putting a caching service in front would stop 404s which you also are billed for.
ergh, sure, then go as i do for homelab, just abuse hostpath volumes, but it will still make your servers more "vulnerable" to issues to upgrade and scale them. That is completely fine if you are the only dev on that project and forever will be so.

rapid sparrow
# sudden igloo So when you bake golden images and don't touch anything on the filesystem after ...

So when you bake golden images and don't touch anything on the filesystem after besides use apps on it like docker, that's an immutable server
yes, especially it is fully immutable server if it has no hostpath volumes also on it, and all applications are auto restored when servers die and created automatically by Master controlers of container scheduling system.
in situation when you still abuse hostpath for volumes of app... it is like ... 80% there towards immutable servers but not fully yet.

but frying an image with terraform/ansible to integrate your software, never touching it again, and starting from scratch when a change is needed isn't?
if you need changing server, then yes when needing change you just create another server and destroy previous one for your needs.
Since you continue abusing hostpath volumes, you would need also Migrating single folder with them between servers though.
You can achieve 95-100% server immutability if you will be abusing Digital Ocean Volumes in place for your hostpath volumes. With Digital Ocean Volumes all your state can be in a single volume, and you can be just shutting down all apps, recreating Droplet , having by iac same volume attached and then running the rest of iac code to launch back all apps

#

if you intend to use juts simple Docker for your container scheduling solution, remember that u can pick Droplet with image where Docker is already installed, DO offers that. So you need no system level changes at all

rapid sparrow
# sudden igloo So when you bake golden images and don't touch anything on the filesystem after ...

Beware of a good default production safety that people in iac use... at minimum your Droplet should be having Cloud level firewall configured to it allowing only 22, 80, 443 traffic https://registry.terraform.io/providers/digitalocean/digitalocean/latest/docs/resources/firewall
Ideally your droplet should exist only in Private network, but i am not sure it is feasiable to achieve in DO, since it is over simplistic provider

#

that will protect you against silly mistakes with Docker, when you binded your db to host port without any password or default password 😄 (you should not do it, but in case u did, DO firewall can prevent you from getting hacked hopefully if it was configured by iac fast enough)

sudden igloo
sudden igloo
# rapid sparrow > So when you bake golden images and don't touch anything on the filesystem afte...

If I were to deploy servers to replicate from a bucket and swap them out for upgrades, in my case I would go for replocating the entire bucket each time for every server, and every upgrade, not new volumes, starting from scratch. I'd have terraform or pulumi ssh in, run a command to replicate the data, wait for it to finish, and then set something up in the background to do the rest automatically. Server setup would be entirely fresh each time without having to share anything between them, a tweak to configuration like rate limiting, I'd try to do by starting from scratch with that setting. Not sure how efficient this is, because I haven't tried it yet, it might not be efficient but nothing will need to be copied between servers between setups except from the bucket.

rapid sparrow
#

bucket is meant to be static files long term storage database, it is not supposed to participate in server creation

sudden igloo
#

It wouldn't. The replication is for public access so that people can't run up the bills by sending a lot of requests to it and so that I can control rate limiting.

rapid sparrow
#

skip the buckets entirely if they do not work for you

rapid sparrow
sudden igloo
#

I am satisfied with buckets though in the sense of accessing them to upload and manage data conveniently. I'm aiming for read only replicas to mitigate the issue.

quiet hemlock
#

Does my IDE lack features ?

#

I was requesting feedback. I'm not having an issue

astral apex
#

<@&831776746206265384> probably a scam?
Am confused

quiet hemlock
astral apex
quiet hemlock
#

Well I gtg, bye

compact valley
#

!cleanban 997868787145637968 scam

rancid schoonerBOT
#

:incoming_envelope: :ok_hand: applied ban to @weary hearth permanently.

compact valley
gentle solstice
#

I'm wondering why an IDE needs rich presense integration.

regal sierra
#

.

regal sierra
gentle solstice
#

All you really need is syntax highlighting and auto complete (optionally via LSP). Additional features could include an integrated terminal, file browser, git integration, and run configurations.

rancid schoonerBOT
#

9. Do not offer or ask for paid work of any kind.

quiet hemlock
quiet hemlock
stuck sun
# quiet hemlock Does my IDE lack features ?

of course it does lack a lot of featuers... lsp, debugger, file explorer, codebase search, search, undo redo, terminal? and the repo is private. urs is not even an ide rn. its just a fancy text editor for python..

quiet hemlock
quiet hemlock
empty pasture
quiet hemlock
distant scarab
#

"yet" ducky_concerned

stuck sun
quiet hemlock
#

Made a script with errors intentionally to showcase that the issues checker works

stuck sun
#

ok nice

rugged hare
quiet hemlock
rugged hare
quiet hemlock
stuck sun
#

ima steal it

#

thanks

quiet hemlock
#

Don't steal theif

stuck sun
#

yes steal

quiet hemlock
stuck sun
#

we can collab some ideas together

#

i built a code editor just like you

quiet hemlock
stuck sun
solar wigeon
#

Hello

pliant haven
#

Hi folks, are there any tools, IntelliSense, especially VS code extensions that help with hinting class-based views' attributes and methods, or at least DRF generic views? One thing deterring me from using CBVs is the need to memorize a large list of attributes and methods that need to be overridden

warped ore
true bone
nocturne karma
quiet hemlock
spice inlet
#

hello guys

#

i hope u guys are enjoying my tool

quiet hemlock
dreamy shuttle
#

Does this noise I generated look good?

#

Heres a zoom in

#

Even closer

dreamy shuttle
#

I feel like it looks pretty good close up but far out you can vaguely see the grid

spice inlet
#

ver*

#

do u wanna try it ?

#

(srry 4 my bad eng)

#

it has better UI than the old one

spice inlet
#

and more feat

rugged hare
patent bobcat
#

my usual workflow should go like this eh?

->from dev branch i make a new worktree for feat x
->then in that, after coding shi, i do my local tests using like the turbo global test shi
->then if that works, i create a PR from that feat branch to test branch
->the qa (test branch) run their own tests (regression and integration tests)
->then if that works they merge that with the prod branch.
->in case it doesnt pass their tests, do they js reject that PR and I fix shi and send a new PR? etc etc

(granted i am working solo on this project, idek if i should be going thru all this)

but yeah would love some help or a guide i can read for this

#

was asking a friend and he kinda explained it a bit, thought i'd ask here as well

rugged hare
#

Most projects, even large serious ones, need a main branch (production), and your branch for the work you are doing. Your branch gets tested, runs CI, is reviewed as a PR, etc. When it's ready, it's merged to main.

patent bobcat
rugged hare
spice inlet
#

can u gimme some tips ?

rugged hare
# spice inlet i know

if you know this, why are you uploading exe's to github and asking people to run them?

rapid sparrow
rancid schoonerBOT
#

Application%20code line 77

create_btn("⚡ High Performance", lambda: [set_high_performance(), messagebox.showinfo("OK", "Đã bật High Performance!")]).pack(pady=5)```
rapid sparrow
# spice inlet can u gimme some tips ?

tips possible to give in this situation:

  1. Do not use AI for anything. you are training person and it will harm your growth and will make you looking extremely bad for others.
  2. Start with learning Software development craftmanship https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670 , this book has pretty much Everything u need to know in average to be building smth more in quality
  3. Try building projects that have more features in mind in general, that will challenge you in their complexity and things u can make.
  4. get through some book of learning the most basics to write code in general at all, Automating the boring stuff or smth https://automatetheboringstuff.com/ , as far as i see your current issue is needing to practice onto developing your writing and reading code skills to write code at all in small amounts. Students after some amount of months able to operate with thousands code lines in their head, once they adapted their brain to programming.
  5. find useful CLI/web/GUI frameworks to build your programs upon https://github.com/vinta/awesome-python , and other libs that could help you in implementing ideas yo uhave
glossy echo
#

Built a tiny distributed job bus that lets cloud scripts coordinate with local Termux workers over HTTP. No Redis, no Firebase, just Flask + SQLite.

Wrote a full breakdown here: https://dev.to/d_security/how-i-control-my-android-phone-from-a-cloud-server-using-100-lines-of-flask-2fl6

GitHub: https://github.com/dsecurity49/Intent-Bus

DEV Community

My background scrapers run on PythonAnywhere. My phone runs Termux. I wanted the scrapers to ping my...

GitHub

POST a job → any script can pick it up and execute it. A dead-simple distributed job bus for bots and scripts. - dsecurity49/Intent-Bus

pliant haven
#

What is the best practice for handling package versions in Python? Do I pin the exact version, or just leave the lower bound in pyproject.toml? I'm using uv and building a Django web app, btw.

slate summit
#

You should use a lower bound and let the lock file pin the exact versions

pliant haven
#

I got recommended to pin the exact version for app

thorny shell
#

Sometimes I have an upper bound, too, in the case where I know the new version breaks something -- e.g. I use a binary library that hasn't been built for python3.14, so I'm forced to write requires-python = ">=3.12,<3.14"

rapid sparrow
# pliant haven What is the best practice for handling package versions in Python? Do I pin the ...

if package owners are very responsible in following REAL SEMANTIC VERSIONING and you know it, and you have implemented unit testing.
you can be locking to for example >=3.1.2,<4.0.0 and it will work fine in updating itself when needed. With updating through Minor versions and Patches at the same time. Leave updating through Major version as still your own choice when ready.

if package owners are not reponsible at all in making things backward compatible (hello Django) and all Minor updates are BREAKING changes. Best locking to ~=3.1.* fuzzy version, in allowing patches only.
If you do not have unit testing in your project, such fuzzy lock to patches update only is maximum you can afford imo in general for all packages.

if package owners are complete dummies, having zero backward compatibility in any upgrade (usually they are your Coworkers). Or you are doing HACKISH overrides of their package through Monkey Patching. Best lock to specific version like ==3.1.2. Same true if u discovered breaking bug with the package and only specific version works

rugged hare
#

hot take, calling Django irresponsible.

#

has Django broken things from 5.1 to 5.2, or similar?

rapid sparrow
rugged hare
#

ah, ok. I still wouldn;t call that irresponsible. They are very clear about their versioning strategy.

#

they have better support for these changes than 99% of projects.

rapid sparrow
rugged hare
dry vale
#

Oracle Cloud is the worst thing I have ever used oh my god man

#

After my account provisioning took 16 hours instead of the advertised 15 minutes, I received an email saying my account was fully provisioned and that I can login. Using the login from the email, entering my credentials keeps telling me "You entered an incorrect user name or password". I was sure of my credentials but even so went as far as resetting my password. Even with the succesfully reset password, I still get "You entered an incorrect user name or password" and can't login at all

#

And support is literally impossible to reach without logging in

#

And I can't login without support's help

rapid sparrow
shadow crow
rugged hare
shadow crow
#

maybe it would've been better called "compatibility versioning" or something like that

#

I wonder how versioning schemes impact software. That seems like a fun research topic

dry vale
#

But it's clear now why

#

Because nobody uses it

velvet spire
#

and its gotten worse since then so

rapid sparrow
velvet spire
#

hetzner hates trans people iirc

rapid sparrow
#

the only thing is definitely free => deploying static assets to Github Pages / and other similar "provider name Pages"

velvet spire
#

discord took from oct 2015 to june 2018 to go from version 1.6.8 to v7 on their android mobile app

compare that to now that they're on version 327

rapid sparrow
dry vale
#

The BE is what I'm worried about

#

I might just turn my laptop into a server

rapid sparrow
# dry vale The BE is what I'm worried about

to make my pet projects free, I wrote my "backend" in golang to be Static Site Generator that generates frontend static assets 😏
And just have periodic or on call triggered gh workflow rerunning it to update it when necessary
Technically the result is not backend at all, it is pure frontend, but at least i did not use Javascript Modern frameworks to make it and managed making it all in Go :]

rapid sparrow
# dry vale Wdym?

https://slimythemoon.github.io/DiscoNavmap/#q= (almost original written in jquery)
This space map COULD HAVE been written in Modern JS framework. (And another person in the past did so pure through js and gazilion of Jqueries, and 5 dependencies in 5 different languages).

https://darklab8.github.io/fl-data-discovery/map.html (my map version in Go)
I remade it a month ago to golang, using its Templ go language i TEMPLATE https://templ.guide/ all html/css/js files in files like that https://github.com/darklab8/fl-darkstat/blob/master/darkmap/front/galaxy.templ , to generate the map from Golang at a build time into Html,css,js for deployment to Github pages. During dev local usage it renders on a fly from memory and works kind of like backendish app with reusing the same Templates and the same code logic, just having a little if switch.
I used only Very small amount (10 times less JS than original had) of Vanilla JS to "sprinkle" some interactivity and a tiny bit of htmx

i evaluated all the features i need to make and realized that everything is doable with just templating from golang. I do not need modern js frameworks to make it comfy.
On cron job in Github Actions it is auto updates once in a day, or triggered manually when game new version is detected and gh workflow is called by curl https://github.com/darklab8/fl-data-discovery/blob/master/.github/workflows/publish.yaml

#

Thus we have web project made comfortably Not In JS for 95% (in Go), yet pretty much frontedish project deployable to Github Pages with auto updating capabilities to catch up with changing content on its own 😄
when we make SSG, Static Site Generator project, we can make it interactive if necessary by making "calls" to other already prerendered files with jsons/html content and etc. Backend DOES NOT HAVE to exist, for frontend to be able making queries to smth. Backend data can be prerendered in advance and existing as files querable by front

astral apex
#

Looks like scifi Skyrim

rapid sparrow
# astral apex Looks like scifi Skyrim

this online map was made for space dog fighter game Freelancer (2003) 🙂 https://www.youtube.com/watch?v=DiT2cxxEcNM
it works for different modding communities of it and was deployed 4 times at least for different its mods.
Very old game with very die hard fans. We are all trapped there to be present forever.

Released version of the Intro from the epic Freelancer game. Remastered in Full HD.

▶ Play video
stable void
fallow hamlet
#

¡Hola! Soy David, developer independiente de Zaragoza.

Acabo de lanzar Worvi - un template de chatbot WhatsApp con IA que detecta patrones de conversación automáticamente.

Stack: Python + FastAPI + Claude API
Setup: 5 minutos sin código

Si les interesa, pueden verlo aquí: https://kitbot.gumroad.com/l/worvi-whatsapp

¿Alguien más ha trabajado con webhooks de WhatsApp Business API? 👇

Gumroad

Un chatbot de WhatsApp Business que atiende a tus clientes con IA. Listo en 15 minutos.Worvi es una plantilla profesional en Python que conecta WhatsApp Business con Claude (la IA de Anthropic) para que tu negocio responda automáticamente consultas, capture leads y atienda clientes 24/7 — sin que suene a robot.Para quién es esto Desarrollado...

astral apex
#

<@&831776746206265384> ads in Spanish

crystal crater
#

!cleanban 1319363827648958525 1d first message ad

rancid schoonerBOT
#

:incoming_envelope: :ok_hand: applied ban to @fallow hamlet until <t:1777596586:f> (1 day).

tacit orbit
#

Hey guys I came across this server I wondering where we actually can post our github to find feedback I wanna share a tool I created using Python but I don't want raise issue like ads content or something like, it is a Open Source project that I am looking for share

tacit orbit
#

Good, Thanks

marsh bison
#

HEllo

timber basin
#

I have a question about whether it is more practical to store a Discord bot token in a .env file or in Docker Secrets with Swarm. c97awww

modern geyser
opal reef
#

what is ty doing? theres no point in zed using 26MB RAM when ty is going to do this
and it took nearly a minute to finish
here pyrefly lsp is almost instantly providing completions on same code (through pulsar editor)

opal reef
#

oh, its not memory leak, i think its normally working, its just my 30K LOC project thats 100% untyped

shadow crow
#

now that it's owned by OpenAI, maybe they just want people to buy more RAM hyperlemon

opal reef
#

what!?

shadow crow
opal reef
#

im deleting ruff and uv

#

i can code without linter

#

and venv will be fine

shadow crow
#

for LSP, zuban exists I guess

#

haven't tried it though

#

4.4GB for a 30k line project is definitely unacceptable, it's a perfromance bug even if no leak occurs

opal reef
#

could be because i dont write typehints

#

so its trying to guess them

shadow crow
#

Could be something related to that. But that's not uncommon

#

type checkers ideally should support gradually adding types to an untyped codebase

opal reef
#

i tried to make zuban work with pulsar (assuming it uses same protocol as pylsp), and zuban panicked and crashed
so ig pyrefly is the only usable lsp

velvet cradle
#

You re welcome

analog kettle
#

!warn 970292961000701992 You cannot use Python Discord to seek jobs of any kind. Your other messages suggest that you intend to be paid. Telling people to DM you also suggests that you intend to be paid.

rancid schoonerBOT
#

:incoming_envelope: :ok_hand: applied warning to @velvet cradle.

velvet cradle
#

Sorry guys

white ivy
#

sorry for ping

neon shard
white ivy
#

crosspost from ot0 but can someone explain why/when i would want to use proxmox? i dont see why i want to virtualize/what benefits it has over just spinning up a docker container bare metal

astral apex
white ivy
white ivy
astral apex
#

Its not really a security thing

white ivy
#

its not like all of my services are exposed to the public interwebs anyways (they are)

astral apex
#

VMs are a maintenance thing

white ivy
#

hm

astral apex
#

You can back up a copy of your VM's virtual hard drive before you update something, and if it blows up you click the restore button and 10 seconds later boom its working again

#

If you want a new server, you just click the ➕ button and a new server pops up, you don't have to screw with hardware or installing an OS

white ivy
#

ic ic

astral apex
#

You can also do multiple nodes like Kubernetes and load balance your VMs

white ivy
#

thats neat

white ivy
astral apex
#

Yes

#

$250/hr consulting

white ivy
#

sending a check for 10 bucks

#

or so

astral apex
#

tyty

white ivy
#

(astral type checker)

astral apex
#

^2

white ivy
#

i cant see ty without thinking of the type checker by astral now

#

i mean

#

the OpenAI Codex Team

#

my bad

#

lmao

south vector
#

hello guys, anyone can recommend a Minio substitute?

#

is RustFS the best sub?

sick root
#

Greetings, more a VSCode-related question: Is there any working solution to load secrets (like API keys) from an .env file in VSCode's mcp.json file? Known mechanics like ${env:MYSECRET} does not work. Not even when I export the variable in the terminal first. Seems like variables do not get resolved in mcp.json at all.

crimson spruce
#

!rule 10 @jaunty wraith

rancid schoonerBOT
#

10. Do not copy and paste answers from ChatGPT or similar AI tools.

jaunty wraith
toxic surge
remote anchor
#

hello guys

#

wassup

gritty lily
#

guys im making a game with python and im using ursina as an engine but every time i run it doesnt run a game it just says point 0 wat engine should i use to make a fairly simple game

astral apex
valid ibex
#

PLs can anyone help me with installing discord in python

uncut oxide
#

hammer

mint briar
#

wrench

copper compass
#

no.

hushed orbit
#

I prefer the scalpel

copper compass
#

This is an on-topic channel on a python server

#

you might assume that, as the topic suggests, it's about Python tooling

delicate gorge
#

wait python tooling? the description says For discussing editors, IDEs, and tools like pip or pipenv.

dawn stump
#

pipenv > pip
nano > vim
sublime > atom
ubuntu > centos
python 3.6 > python 2.7

copper compass
#

success, I actually got Nix to read a channel topic

delicate gorge
#

oh i always read them gdude

#

always

vague silo
#

that‘s the first time I hear someone recommend nano

#

the Keybinds are very cryptic to meS

#

systemctl edit uses that for god knows why

delicate gorge
#

i only know ctrl o, ctrl x for nano

copper compass
#

nano has the keybinds at the bottom of the screen

vague silo
#

yeah, and that‘s a bad sign

dawn stump
#

ctrl x is all you ever need :D

vague silo
#

should be self-documenting

#

lol that‘s the one i remember

delicate gorge
#

and ctrl o

burnt maple
#

M-x help

clever raven
#

yeah cause vim is so self-documenting

delicate gorge
#

ofc it is

dawn stump
#

mentioning nano and vim in the same sentence usually sparks more of a debate. Shortest debate ever!

vague silo
#

i mean

#

i for insert

#

c for cut

#

and so on, that‘s what I meant

#

if you go by what the commands do you can remember them pretty well

copper compass
#

I'm fine with this not being about editor wars

vague silo
#

Are there plugins for nano?

#

i didnt plan to make it one :(

#

Was just curious about nano

wicked flicker
#

I think you can enable nano syntax highlighting

blazing prawn
#

were those all serious statements, Inver?

dawn stump
#

yes

blazing prawn
#

huh

dawn stump
#

I am infact a heathen

copper compass
#

it amuses me how confused people get when they're using nano and I tell them to cut/uncut

#

they're like "WHY IS IT CALLED UNCUT?"

wicked flicker
heavy knot
#

how to quit vim

uncut oxide
#

:q

blazing prawn
#

when I was doing my short stint of system adminstration work I feel like using nano would have been a nightmare

wicked flicker
#

I hope this wasn't too off-topic

#

I mean it's on-topic technically

blazing prawn
#

let's keep the memery to a minimum for the time being

heavy knot
#

exiting vim is hard we need guides and speedruns for this 😮

vague silo
#

No but really, @dawn stump, can you customize nano? I never really looked into it.

dawn stump
#

@blazing prawn the truth is I don't actually use console text editors anymore, given that everything goes through git nowadays, I don't remember the last time I used either nano or vim

heavy knot
#

dont think so

vague silo
#

I also don‘t recall nano having syntax highlighting, but maybe I just didn‘t enable it

heavy knot
#

nano is rly simple

blazing prawn
#

I see

heavy knot
#

its okay for mobile

#

like on termux

blazing prawn
#

nano definitely has at least limited highlighting

heavy knot
#

maybe it did i cant remember 🤔

clever raven
#

I've never seen it highlight anything

#

but maybe there's a feature there. deep down.

#

deep inside its heart of hearts.

heavy knot
#

you have to buy it dinner first

blazing prawn
#

back when I used it in school it always highlighted my py and html files

clever raven
#

yeah, a nice dinner. that'll loosen the features.

copper compass
#

Nano does have syntax highlighting

blazing prawn
#

maybe it's a distro dependent configuration?

copper compass
#

It has to be enabled

dawn stump
#

ubuntu definitely ships a version with some basic highlighting, but it .. what gdude just said

vague silo
#

ah

clever raven
#

man

#

I never knew

vague silo
#

same

clever raven
#

this channel is paying for itself in dividents already

#

I'm learning so much

heavy knot
#

not sure learning about Nano is valuable 😂
best to never use it

delicate gorge
#

did you know that with :set spell spelllang=en_us you can get a spellchecker for vim

vague silo
#

yes, but i dont recall wanting a spellchecker in vim

sacred cedar
#

I use nano for small edits on remote servers but I wouldn't use it for real development :P

vague silo
#

idea‘s spellchecker is nice, but i find it to be annoying most of the times

heavy knot
#

remote servers can have vim though instead of nano

copper compass
#

Yeah it's for small edits, the idea checker is nice once you add the false positives to the dictionary

sacred cedar
#

They can, and if you know vim that's great. But I'm lazy haha

vague silo
#

of course, when you‘re writing line 1300 of your AbstractMisterBeanFactory class, i can see it being helpful in finding typos

#

thats probably true

heavy knot
#

if you're writing something like that,
best to take it to IDE rly

delicate gorge
#

what if i like my headless openbsd systems

heavy knot
#

then you can be a meme 😄

delicate gorge
#

i know people from some security companies who do that

wicked flicker
#

I never needed vim GWspcSmirk

delicate gorge
#

then youve never used git from a terminal

heavy knot
#

some people like the old ways

wicked flicker
#

@delicate gorge ? what

delicate gorge
#

oh its not about the old ways

wicked flicker
#

of course I have. I just use nano to edit my commit messages, or a graphical editor

delicate gorge
#

ewww

#

they actually like all aspects of openbsd

heavy knot
#

a r c h

#

openbsd is fine TBH I used it in VM for a while

#

can have hardware driver issues

#

if u have weird hardware

kind bough
#

zsh is cool

#

i like ranger too

heavy knot
#

Whats ranger

sullen moth
#

a keeper of a park, forest, or area of countryside.

mint briar
heavy knot
#

ty

lapis hazel
#

ah yeah i had that page open but i forgot to send it here for you haha

heavy knot
#

Lol

vague silo
heavy knot
#

I don't do advanced git LOL

vague silo
#

i probably don‘t even know half of git‘s commands and I use it daily

#

There‘s some website that generates manpages that look like git manpages but are just random nonsense

heavy knot
#

its bad I should learn pepe

#

im lazy

static cedar
#

I'm not even sure of syntax for common commands

#

You dont really need it

heavy knot
#

I'm not sure of the syntax of anything ever
I look things up a LOT

static cedar
#

As long as you know what the main commands do, i.e. pull, push, fetch, commit, add, rm, rebase, branch, checkout

#

you can do things fine

heavy knot
#

ye i know those

static cedar
#

then for the most part, you are gucci

#

bot.xkcd("git")

#

oh we dont have that command yet

#

tsk tsk, someone get on it

heavy knot
#

I'm trying to get better at CI

static cedar
#

Oh yeah I know nothing about CI

#

It's not my job

#

I let someon else worry about it

heavy knot
#

now that Gitlab has some CI built in
that's a nice way to start I guess

static cedar
#

I think its important for me to draw a boundary between my job and someone else's job because I have a bunch of things to learn and my skills would be better improved learning something else. Not to say I'll be completely ignorant of CI or something, but its not really going to help me and someone else will be responsible for it anyway

#

Though now that I think about it, engineering companies might have non-existent devops policies

#

Whoops

heavy knot
#

you want to work in engineering ?

#

I guess electrical ?

static cedar
#

Mechatronic engineering. Hopefully in robotics R&D

#

Either the electrical bits or the software bits

#

Or control

heavy knot
#

ah okay nice

#

engineering can be tough

static cedar
#

no more than programming :P

heavy knot
#

lol

dense ingot
#

Hi guys! Is there a coprehensive rewue of all tools that may make life easier for newbies like me? I tried to look for a pinned messages but haven't find anything 😦

forest bay
#

bot.tags.get("resources")

rancid schoonerBOT
#
resources

It can be difficult to know where to begin when you are first starting out with Python. On our website, we have compiled a list of both free and paid resources that we recommend for learning and mastering Python.

It is hard to say exactly where you should start, as everyone will have a different prefered method of learning, but whether you like video tutorials, books or courses, you should find a suitable resource on our resources page

wicked flicker
#

@dense ingot ^

dense ingot
#

Thanks! @wicked flicker

wicked flicker
#

Thank @forest bay but sure 😃

smoky slate
copper compass
#

editor colour schemes can be entirely customized

#

I personally use the material theme

smoky slate
#

I'm not really sure what i'm doing, or I might just customize it all myself lol

copper compass
#

Themes cover the entire application

#

Colour schemes are just in the editor

wicked flicker
#

@smoky slate check out material theme

#

It has many different colorscheme presets which look good

#

There are also options to make it look more compact

smoky slate
#

@copper compass @wicked flicker Thanks!
Material Darker is pretty decent 😃

#

@wicked flicker What do you mean by compact?

wicked flicker
#

There's a settings section for the theme, it allows you to reduce the padding between items

#

For example in the tree view

#

I hate it when it looks so bloated

smoky slate
#

Cool, thanks! Will have to play with the settings some 😃

wicked flicker
modest pollen
#

can some1 just send me the IDLE link? to type python codes? or IDE.. i dun remember the name exactly

#

download link?

hidden quail
#

IDLE is bundled with Python, but it's not great

modest pollen
#

umm

stable cloak
#

Mu-Editor would be a better way to go

modest pollen
#

so what should i use?

#

im just a beginner

stable cloak
#

I'll get the link, one sec

hidden quail
heavy knot
#

VS Code or Pycharm

stable cloak
#

Not if they're a beginner, cake

heavy knot
#

why ?

stable cloak
#

Because there's so many other things you have to figure out with it, when they should be strictly focusing on learning to code first

#

One thing at a time

heavy knot
#

VS Code is just a text editor though
its not an IDE like Pycharm

hidden quail
#

VSCode is fine if you have some experience with programming already, but an editor like Mu will be better for someone who's new to programming

stable cloak
#

^^

sacred cedar
#

IDLE is probably perfectly fine for the beginner. Easy to write, run, and test in

stable cloak
#

Mu is that much easier and cleaner looking

hidden quail
#

Not great for testing

#

No line numbers

sacred cedar
#

IDLE?

#

Shows line number when you click on a line

stable cloak
#

And only then

heavy knot
#

line numbers are important I think

barren iron
#

What about

sacred cedar
#

Sure, but it's not terrible to use

barren iron
#

Sublime

stable cloak
#

But there are better beginner alternatives

sacred cedar
#

*banned

barren iron
#

It's pretty basic

#

And then

#

You can change it later

stable cloak
#

Mu and Thonny are the two I suggest to people

heavy knot
#

Sublime is fairly similar to VS Code I think

hidden quail
#

Sublime and VS Code are great for people who are familiar with programming concepts

sacred cedar
#

Mu looks nice

hidden quail
#

Or even basic command line skills

stable cloak
#

The less that people have to deal with their editor when they're just learning, the better

hidden quail
#

I like VS Code myself personally

sacred cedar
#

I prefer just VS

stable cloak
#

Remember what it's like to be a beginner guys. Too much at once can be intimidating and can cause people to give up entirely

sacred cedar
#

Derp we just scared him probably lol

stable cloak
#

Or he clicked the link and went on his merry way, either way

sacred cedar
#

True

heavy knot
#

I didn't know about Mu or Thonny, they do look very friendly

stable cloak
#

Yep

modest pollen
#

so should i go with the Mu thing?

stable cloak
#

I used Thonny for a long time, and Grey introduced me to Mu. I try to keep an eye out for beginner stuff, since that's where I like to help people the most

#

I would say yes, Fox

#

Mu is a good place to start

modest pollen
#

but why can't i download?

#

it says beta servers?

hidden quail
#

You can still download it

stable cloak
#

You can also install it via pip

hidden quail
#

Just scroll down to the Windows Installer

modest pollen
#

oh

astral vector
#

self.unsubscribe()

stable cloak
#

@astral vector Please try to keep bot commands in #bot-commands to reduce clutter

astral vector
#

i just figured that out thank you

copper compass
#

decided to go through the default nanorc

#

not bad!

hidden quail
#

Pretty

heavy knot
#

somewhat unrelated but i thought you guys would find this useful

#

it's pretty amazing

#

(to give a comparsion, gcc took 17 seconds to build a project of mine; zapcc took 3-4)

dawn stump
#

wow, that's interesting

copper compass
#

doesn't that only speed up recompilation?

#

rather than initial compilation

#

the site uses cookies but has absolutely no dynamic content

#

there's almost no info on it either

heavy knot
#

it's on github

copper compass
#

okay, yeah, they have another page which is a little less misleading

heavy knot
#

also that

#

it's pretty fascinating though

copper compass
#

they have 3 read more links that link to an FAQ

#

and that page redirects back to the homepage

heavy knot
#

that's weird

#

FAQ used to work

#

'Similarly, on incremental recompilations, Zapcc can be up to 50x faster than Clang. '

copper compass
#

also I will say this has only passing relevance to this server

#

since C modules

#

:P

serene sandal
blazing prawn
#

just in case it wasn't clear that the VSCode team will not be extending this functionality themselves any time soon

stable cloak
#

Couldn't find any plugins when I looked around.

#

Not with good reviews, anyway

copper compass
#

Really odd request

#

VS Code is an editor

#

If you want features like that, you need an IDE

heavy knot
#

if you want heavier features
a text editor is a bad choice ye

atomic nexus
#

is there a tool that converts poorly formatted code to pep8?

heavy knot
#

well the problem would be parsing the poorly formatted code

#

its hard to parse code when you don't know what format it could be in

#

its like trying to parse HTML, very reee

copper compass
#

yapf

lost rock
#

Yet Another Parser Failure? 🤔

copper compass
#

Haha

#

I don't use it

#

But mart apparently likes it

heavy knot
#

parsing is big headache

heavy knot
#

i strongly disagree with the "only double quotes" decision but it's otherwise solid

lost rock
#

I use " only.

copper compass
#

black is awful

#

you can't configure it

#

and it doesn't match a lot of what we like about our styles here at pydis

uncut oxide
#

You can though

heavy knot
#

the non-configurability is its selling point though
philosophy is "write your code however you like, but let us normalize it"

#

and there are a few config things here and there yeah

#

i like to configure everything

copper compass
#

I mean I also don't like things that format my code for me

uncut oxide
#

Did they remove the config-- oh

heavy knot
#

isn't a linter a better idea

#

read black's README

#

or yapf's

#

oh it's in yapf's

#

Most of the current formatters for Python --- e.g., autopep8, and pep8ify --- are made to remove lint errors from code. This has some obvious limitations. For instance, code that conforms to the PEP 8 guidelines may not be reformatted. But it doesn't mean that the code looks good.

kind bough
#

control alt r 👌 pycharm we good

copper compass
#

I agree with flake8 for the most part

hollow swan
#

I think there is a balance between linters, and what they do

#

some like linters to be super configurable in their control

#

some like it to just work and set whatever standard

uncut oxide
#

We can't forget the elephant in the room

copper compass
#

the linter that uses every other linter available?

uncut oxide
#

No matter if you follow a style guide or not your code won't actually change

copper compass
#

well yeah, it's about style

heavy knot
#

🤔

uncut oxide
#

Yes

heavy knot
#

poor style can like
cause future bugs

delicate gorge
#

The linter that uses every other linter

uncut oxide
#

@kind bough it's ctrl alt I

delicate gorge
#

You mean snekcheck? @copper compass

kind bough
#

oh sh

#

true

copper compass
#

yeah

#

I do

#

lol

hollow swan
#

there are a whole lot of them

#

coala is one more that brings unified linting to multiple languages

copper compass
#

That actually sounds kind of interesting

hollow swan
#

well its a hard problem to solve to bring that unified configuration that works for every linter across all languages

woeful cobalt
#

hey so i was interested in getting a new set of screwdrivers?

#

I'd like them to have some sort of neodymium magnet in the base so all the attachments are magnetic

#

I'm also interested in something that has pretty much all the bits required for tech repair etc

#

but a must have is a torsion bar of some kind

heavy knot
woeful cobalt
#

Chrome Vanadium is a requirement.

copper compass
#

go to the off-topic channels

#

you're not original

heavy knot
#

rekt

dawn stump
#

'hammer' was literally the first word i this channel :D

woeful cobalt
#

"For discussing editors, IDEs,...."

kind bough
#

Vanadium 🤔

woeful cobalt
#

Just saying if you're splitting channels...

#

¯_(ツ)_/¯

heavy knot
#

what]

#

its not for physical tools

copper compass
#

no.

#

:P

dawn stump
#

xD

kind bough
#

🤔 Chromium-vanadium steel (symbol Cr-V or CrV; 6000-series SAE steel grades) is a group of steel alloys incorporating carbon, manganese, phosphorus, sulfur, silicon, chromium, and vanadium.

dawn stump
#

goodnight guys o/

kind bough
#

bloated

copper compass
#

\o

woeful cobalt
#

Nn Inver

#

o/

heavy knot
#

Nn Inver

copper compass
#

Go to off-topic, you gon' get muted

kind bough
#

Nn

#

what

woeful cobalt
#

Genuine question now.

#

What's the actual advantage of pycharm pro over basic?

heavy knot
#

templates for Django and Flask etc

woeful cobalt
#

I've been using it at work for 2 days now and it feels the same while doing some flask shit

#

or am I too basic?

heavy knot
kind bough
#

pycharm pro remote interpreter

heavy knot
#

supports some extra stuff

woeful cobalt
#

Not sure what it supporting it means.

#

That's my point

#

Autocomplete stuff?

heavy knot
#

I think so ye

kind bough
#

thats in community too... no?

#

ohhh

heavy knot
#

for JS ?

kind bough
#

hm not sure

#

but probably a plugin to do it anyways

heavy knot
#

probably not

#

I doubt they would put their paid functionality into a plugin

copper compass
#

pro supports tons of web stuff, yeah

#

like non-python stuff

#

html, js, css, all that jazz

heavy knot
#

SQL also

kind bough
#

i meant someone elses plugin

copper compass
#

right yeah, you have the whole database integration stuff

woeful cobalt
#

hmmmm

copper compass
#

docker/vagrant support

heavy knot
#

but jetbrains make a seperate IDE for databases, which is better

woeful cobalt
#

i guess i need to open some other projects and check it out

#

oooooh

#

docker support

kind bough
#

yea

heavy knot
#

they have an IDE called Datagrip
that you can run alongside Pycharm

kind bough
#

the fancy stuff

heavy knot
#

for DB work

copper compass
#

remote debugging

kind bough
#

remote anything

#

deploy etc

woeful cobalt
#

docker api i assume

#

rather than file

copper compass
#

it supports deployments and stuff too

woeful cobalt
#

okay, guess i just need to explore it more

heavy knot
#

for front end Webstorm is gud

copper compass
#

pycharm pro supports everything webstorm does

heavy knot
#

react and Vue project templates ?

#

are you sure ?

copper compass
#

try it

heavy knot
#

ook

copper compass
heavy knot
#

no Vue reeeeee

#

at least it has react I guess

copper compass
heavy knot
#

ah okay nice

#

thats good then

#

may as well just use that and not webstorm then rly

clever raven
#

@lost rock I'm saying the full VS, at least Visual Studio C#, used to be 2000% worse.

#

they've really cleaned it up

heavy knot
#

Visual Studio used to be a massive bloat-bomb

#

you can get a leaner install these days

clever raven
#

not just can, the one you get if you just go to the website and get community edition or whatever is really impressive compared to, yeah, the "bloat-bomb" it used to be.

lost rock
#

I used VS for C# in early 2016 for a month or two

#

was not bad

copper compass
#

I remember using Qt and C++ back in.. uh..

#

jeez, like.. 10 years ago

lost rock
#

but I never got back to C# development after that internship, so...

heavy knot
#

Qt existed 10 years ago?
I had no idea lol

copper compass
#

and Qt Creator didn't work so I found some thing that added Qt Designer to VS

#

but VS's intellisense was shite back then

#

had to keep deleting the intellisense file

clever raven
#

I think the JetBrains C# IDE is almost definitely better, though. Rider, is it?

heavy knot
#

some C# people really praise intellisense

clever raven
#

Ryder?

lost rock
#

didn't try it

copper compass
#

Ryder? yeah

#

there's also resharper

lost rock
#

They.... that ^

clever raven
#

I used the resharper plugin with visual studio

copper compass
#

which is a jetbrains extension for VS

clever raven
#

and it's fantastic

#

but ryder comes with it

#

and it's not free for VS

heavy knot
#

while we are here...
what for Java?

#

I guess intellij ?

clever raven
#

IDEA? yeah

#

I mean.. can't really go wrong with jetbrains

heavy knot
#

I bought a big fat java textbook for this summer pepe

clever raven
#

they make quality shit. but also all their IDEs are pretty similar

#

if you like pycharm, you'll like the others.

copper compass
#

IDEA is great for java

#

I've used it

clever raven
#

they're all basically just modules for IDEA

copper compass
#

the Android SDK is based on it

mint briar
#

yeah, pycharm pro is good for basically everything I do, not just Python

heavy knot
#

ye i love pycharm so IDEA should be gud for me

clever raven
#

should be.

mint briar
#

a brilliant IDE

copper compass
#

yeah I could never dump pycharm

#

it's just so integrated into my workflow now

#

as an IDE should be

mint briar
clever raven
#

wow lennythonk

heavy knot
#

👍

clever raven
#

wow, Aperture

mint briar
#

finding invite

#

wait you're already in that server

lost rock
kind bough
#

zsh 👌

lost rock
#

u started

mint briar
#

no u

lost rock
mint briar
#

ByteCommander, stop getting so personal. That is not a nice thing to say.

copper compass
#

geddouddahere

lost rock
#

GDPRdude, stop getting so personal. That is not a nice thing to say.

haughty stratus
#

hello guys anyone knows how to insert tables into jupyter notebook?

forest bay
#

Standalone executable you can dump on a flash drive or whatever

blazing prawn
#

ooooooooh

forest bay
#

Also drag and drop from explorer into vscode

heavy knot
#

Is Pycharm the best IDE for python?

blazing prawn
#

it's a subjective matter, but PyCharm has as pretty exceptional featureset that it's difficult to find anywhere else

heavy knot
#

I know its real-time code error checking.

#

And that's nice.

copper compass
#

PyCharm is the best IDE if what you want is a fully-featured toolset

sharp marsh
#

What do you guys use for visualisations? Right now I'm only in need of static graphs, but it would be nice having something more powerful, maybe interactive for the future.

#

I'm kind of tiredof matplotlib and its API. I've heard good things about bokeh, Altair, and seaborn.

What's your favourite package and why?

static cedar
#

Matplotlib is the most powerful option there is

#

It's API is alright

#

Not the best but it could be worse

#

I use MATLAB when I really get tired of it

heavy knot
#

I haven't used Altair
but I use bokeh, seaborn and matplotlib loads

#

Seaborn has a fairly good looking style out of the box

#

and bokeh can do some really pretty things

#

you might want to check out R and JS visualisation libraries

#

D3.JS is cool

heavy knot
#

so in the python ide that comes pre installed with python, you can check variables after the code has run.. how can i do this in visual code

delicate gorge
#

First, the thing you call IDE ( i assume you are referring to IDLE) is not an IDE its an editor (a bad one)
Second, what IDLE can easily be imitated by running the code with python -i mysript.py from a command line

heavy knot
#

thank you

smoky slate
#

Just trying out VS Code, been trying to find an editor/IDE I like. So far it seems awesome. I feel conflicted saying that about a Microsoft product..

spiral pendant
#

VS code is really nice

#

I use the debugger in PyCharm too much to swap but it’s nice to make quick edits on files

smoky slate
#

What about the VS Code debugger is not sufficient for you?

spiral pendant
#

Doesn’t support remote interpreters afaik

smoky slate
#

Ah, okay. Well, development of VS Code seems very active - hopefully they will keep it up 😃

forest bay
#

I haven't tried using the PyCharm debugger yet

#

Really should one of these days

clever raven
#

it's great

deep estuary
#

I like pdb

kind bough
#

tmux > screen

static cedar
#

Not even a competition, you're right

glossy talon
#

yeah tmux is better than screen

#

plus the name actually makes sense

heavy knot
#

ye tmux is good

glossy talon
#

c:

forest bay
#

Tuxedo Mux

glossy talon
#

:P

forest bay
#

pudb is cool if you're on Linux

glossy talon
#

ooh

weary fulcrum
#

@crystal depot pycharm is great

#

it does have it's on env support, so you can install packages into the app itself, and run them without the need of a separate env folder or set up

crystal depot
#

that seems to be on by default on macOS unless i turned it on somehow on accident

#

is each project it’s own env?

weary fulcrum
#

but it does not have support for all the packages that you may want to install. So, sometime you may want to run a seperate env

crystal depot
#

i’ve never messed with virtual env (i think that’s what it is called)

weary fulcrum
#

yes, and no

#

you can have different packages run for different projects

crystal depot
#

i’m worries it’ll complicate what i’m doing but it does seem nice to not have random modules installed at a system elvel

#

oh, i see

weary fulcrum
#

it helps alot

#

I have used atom, and many different ides

crystal depot
#

i noticed that it makes a separate folder in the root of the project and the project is pretty large size wise because of it, is that normal?

weary fulcrum
#

I settled with pycharm, personally, but you will have to choose what works for you

#

it creates a physical folder?

crystal depot
#

i think so, let me check

blazing prawn
#

I've never used PyCharm, but the workflow it supports is extremely common for Python development. an entirely separate environment for every single project

weary fulcrum
#

are you referring to the .idea

#

?

crystal depot
#

venv folder

weary fulcrum
#

oh

crystal depot
#

which has a bin, include and lib folder

weary fulcrum
#

ok, that makes sense

#

see ^ lucy's response

#

you can opt to have your own env folder, or you can use that one.

crystal depot
#

I see

#

I thin I might need to change my repo behaviors then

blazing prawn
#

virtualenvironments are about as important to Python work as pip itself

crystal depot
#

because a sample project with barely any code is 20mbs now

#

and normally i just sync my whole python folder to my repo

#

as like a backup, which I guess is not the intended way to use it