#python-discussion

1 messages ยท Page 57 of 1

spice hill
#

bans person and deletes all their recent messages

glass hamlet
#

Nice

spice hill
#

(it exists in part because Discord search sucks)

rare gazelle
#

a day without someone trying to scam in python discord is not a day

glass hamlet
jaunty jetty
#

yep

ornate hemlock
#

Classes are kicking my butt

#

Oop is so hard

still mason
#

i finally made a usable thing

frank pagoda
#

oop is easy if you understand its usage

half pewter
brisk gazelle
ornate hemlock
#

I get oop i think
My issue is that all my projects prior are so small for oop

#

Like I could go through all of them again and try writing them in oop and that would be infinitely.harder than the procedural

brisk gazelle
#

It's not about the size, but the use case. Not everything needs a custom class written by you.

half pewter
#

blackjack seems to be a popular OOP project if you care to try your hand at it

dull dune
#

what level/kind of interview?

zealous edge
#

does anyone know any good dart series

#

i know its not related

#

but i have no where else to ask

ornate hemlock
#

Im.testing a password and username thing

ember dew
ornate hemlock
#

Its really the change of variable for me that is the issue

zealous edge
ember dew
#

Idk if we're allowed to post links to something like that here

zealous edge
#

so i wanna learn flutter before replicating this

ember dew
#

Lemme see if I can find it again

zealous edge
ember dew
#

Okay

silver plover
ornate hemlock
#

But classes now become the object of my code

zealous edge
ornate hemlock
#

If I have user 1 = class
And user 2 = class
Then theyre both saved as different items right? Holding the different data

stray field
sacred charm
#

Hey guys.

ember dew
#

Okay so from dart dot dev, click on Menu > Resources and you'll see books, videos, tutorials. The first three books are really good, top notch. They're by CodeKo. If you click on one of those books which are fundamentals and DSA, then visit the CodeKo website they have a full learning path for dart/flutter @zealous edge

stray field
#

It's a template for creating an object.

sacred charm
#

OOP dont seem to be hard.

zealous edge
stray field
#

a variable on an object/class is called an attribute.

sacred charm
stray field
#

variable.attribute

brisk gazelle
ember dew
zealous edge
#

it was brazalian

#

im tryna find some videos

#

ill also consider the books

plush wadi
#

Does anyone know a good vscode extension that will collapse all dosctrings pls for the love of god

ember dew
zealous edge
plush wadi
ember dew
#

Think of classes as basically just an extension of the type system

zealous edge
unborn lagoon
ornate hemlock
cerulean ravine
ember dew
#

From what I can gather, you can't pattern match on types, correct? Only values

cerulean ravine
gleaming knoll
ember dew
swift sparrow
ornate hemlock
#

Ya

swift sparrow
#

!e

print(str)
print(int)
print(list)
edgy krakenBOT
swift sparrow
#

these are classes

ornate hemlock
#

I know every component of a class

ember dew
#

Of course the Haskell user would know ๐Ÿ˜Š

ornate hemlock
#

Sorry I mean

class Car():
swift sparrow
#

Classes define how data behaves. All lists can append, but all instances of the list class hold unique data

ornate hemlock
#

Can I post the code im working on

swift sparrow
#

Sure

swift sparrow
#

Use a paste link

#

!paste

edgy krakenBOT
#
Pasting large amounts of code

If your code is too long to fit in a codeblock in Discord, you can paste your code here:
https://paste.pythondiscord.com/

After pasting your code, save it by clicking the Paste! button in the bottom left, or by pressing CTRL + S. After doing that, you will be navigated to the new paste's page. Copy the URL and post it here so others can see it.

ornate hemlock
dull dune
ember dew
ornate hemlock
stray field
swift sparrow
dull dune
swift sparrow
#

and this AccountSetup class could perhaps be AccountManager and it would be responsible for keeping track of the status of multiple accounts (as well as creating new ones, changing passwords of existing ones, etc)

ember dew
#

I'm admittedly not that familiar with Python's type system

ornate hemlock
stray field
swift sparrow
dull dune
ornate hemlock
#

Okay so you know local and global variables? Do they exist in this structure?

stray field
dull dune
#

but you can make them an object

stray field
#

auto boxing has been a thing since java 5

swift sparrow
#

This is how we store data in an instance

ornate hemlock
#

Can the user who is made in one class be accessed by another class?

swift sparrow
stray field
#

you still need to pass the value around via a parameters or shivers a global variable.

ember dew
swift sparrow
#
class Account:

    def __init__(self, name, password):
        self.name = name
        self.password = password


class AccountManager:

    def change_password(self, account):
        new_pass = input("Enter new password")
        account.password = new_pass
dull dune
swift sparrow
#

here's a very rough structure/idea of the class responsibility

stray field
dull dune
#

that the types also have a type doesn't make them not a type

swift sparrow
#

here the AccountManager has a method for changing passwords, and it can change the password of an account

ornate hemlock
swift sparrow
ornate hemlock
#

Im cooked bro

swift sparrow
#

there are just custom classes

dull dune
#

you can pass a type to a function just lik eyou can pass a string, int, function, boolean, None, another fuction, etc. becaus they're all values

cerulean ravine
ornate hemlock
swift sparrow
#

Any function written anywhere can modify a list if its passed in as a parameter. This is no different.

swift sparrow
stray field
#

The provided code snippet did not show anything accessing a class

swift sparrow
#

the number one thing to get straight when learning OOP is the difference between class and instance

ornate hemlock
#

Oh I thought in the change password method

#

Idk what an instance is i think

stray field
#
manager = AccountManager()
user = Account("Unalivejoy", "changeme")
manager.change_password(user)
swift sparrow
#

str is a class, but "hello" is an instance
int is a class, but 123 is an instance
list is a class, but [] is an instance

rare gazelle
#

he means an instance of that class

ember dew
gleaming knoll
ornate hemlock
#

So Unalivejoys data is accessible through the manage account class?

#

Without global being needed

dull dune
#

put () after the type name

plush wadi
swift sparrow
#

it's not different because it's a class

dull dune
ember dew
plush wadi
ornate hemlock
chilly roost
#

Hi

dull dune
#

the parenthesis are there to 1) indicate you're matching on type and 2) allow for destructing match args

ember dew
gleaming knoll
rare gazelle
dull dune
unborn lagoon
dull dune
#

that's using type patterns

rare gazelle
#

but i didn't publish it

ornate hemlock
#

1 last question
I make these oops
Do i run them procedurally after theyre made?

rare gazelle
#

maybe i'll publish it who knows

ornate hemlock
#

User.run
User.play
If User.play == 1
Etc

ember dew
gleaming knoll
#

what is the "another language"? show some code in it and explain what you want that to do

ember dew
#

Hare

#

I'm just trying to match against a built in primitive type

#

The example you gave should be enough for me to go off of

dull dune
#

if you were trying to match against int type, the pattern would be int()

#

same applies for all types

gleaming knoll
#

hare's case let variable: Type is case Type() as variable, though for "primitives" for some reason case Type(variable) is also allowed even though its kinda nonsensical

ember dew
ember dew
dull dune
#

oh! I just realized you were saying hare as in a language called hare.... Never heard of it, looks nifty

rare gazelle
#

but i haven't published it

ember dew
rare gazelle
#

i might publish it but i can't guarentee u

#

it still needs some polishing, it works perfectly but its not good enough for me

dull dune
rare gazelle
#

not good enough for publishing at least

ember dew
#

Last time I touched Python was intro to prog in uni, so I'm a bit rusty at it

gleaming knoll
#

python kinda has tagged unions via declaring a class for each variant because values already carry their type at runtime which you use as the tag
and the static type system with typecheckers supports type unions

ember dew
ember dew
gleaming knoll
#

are you aware of static typechecking for python?

ember dew
gleaming knoll
#

so uhh

ember dew
#

I know you can annotate types but it doesn't really mean anything, from what I understand

gleaming knoll
#

it doesnt mean anything for the runtime except evaluating and storing them for reflection
but there are third party tools you can run for static analysis

the most used ones are pyright and mypy
if you use vscode, the python extension actually comes with pylance which.. uses pyright

ember dew
#

Maybe I have seen that before I just need to revisit

#

MyPy that's what it is. I totally forgot about that!

spice hill
#

It's like TypeScript for JavaScript, but for Python

#

(and also without any fun features like conditional or mapped types)

#

more like... Java type system, idk

gleaming knoll
ember dew
gleaming knoll
#

python with a static typechecker will definitely feel more like home if you come from a statically typed language

spice hill
#

i'm probably going to kill the tutorial because it doesn't seem to be very helpful for the amount of effort it takes

#

๐Ÿ˜”

gleaming knoll
#

๐Ÿ˜ญ

#

i like mentioning it

spice hill
#

tutorial mentioned

#

maybe if someone sponsored the tutorial, idk

gleaming knoll
#

im a broke uni student ๐Ÿ˜ข

#

see if i had infinite money

ember dew
rare gazelle
#

sponsor him lambda

stray field
ember dew
stray field
#

"I can fix him"

rare gazelle
#

wait... now i understand why you keep saying decorator factory mentioned

ember dew
stray field
#

reads lambda's bio

#

sorry, didn't mean to try to fix you.

spice hill
#

fix error instead

gleaming knoll
golden mortar
#

Coldplay will try to fix you whether you like it or not

robust ledge
golden mortar
finite tree
#

Give a student a free tutorial and they have one free tutorial. Teach a student the power of Google-fuยฎ and they have infinite free tutorials.

#

(at least before the internet went crap)

raw bramble
robust ledge
golden mortar
stray field
gleaming knoll
# stray field sorry, didn't mean to try to fix you.

i actually already had a couple groupmates get sad because they understood that im fucked but they have no idea how to help so i just told them its not their problem and i'll get through somehow
was very surprising that they cared

spice hill
#

Luckily, programmers have a way of creating an endless stream of work even given finite requirements

finite tree
#

Finite but shifting requirements

stray field
#

My endless stream of work can be automated away by renovate(mend)

raw bramble
#

I wish I could automate automating

gleaming knoll
# rare gazelle i wonder how u're in real life

depressed to the point of people noticing it
mostly avoiding people unless im certain i can start discussing something im interested in, then im very chatty
then when i go home no-one talks to me, and i dont talk to anyone

robust ledge
gleaming knoll
#

yeah they got that after our first programming class
typing fast and confidently talking with the teacher did the job. good programming teacher actually

stray field
#

The question is does your boss know you program?

spice hill
#

functional programmers when their university has classes ๐Ÿ˜ก

finite tree
#

no good programmer is monoparadigm

stray field
#

0x engineer

gleaming knoll
#

hexadecimal engineer?

ember dew
stray field
#

anyone who says they're a 10x engineer is lying. They're 2x because binary.

finite tree
#

if everyone was an 100x engineer would it not balance out and make everyone 1x engineer because its all relative?

raw bramble
stray field
#

0xA engineer doesn't quite feel right.

raw bramble
fair anchor
#

Embrace fuzzy logic. Become an โˆž programmer

raw bramble
#

-1 0 1

#

0 1 2

finite tree
#

How to tell if someone is a real programmer: Brag that your program has "them big O numbers"

#

If they cringe they're real

#

"My O numbers are bigger than most other engineers"

raw bramble
#

O(n) means the program is running, O(ff) means itโ€™s not running

finite tree
#

O(inf) means you have reached enlightenment

gleaming knoll
raw bramble
finite tree
heady swallow
#

Does anyone know how to use napari?

gleaming knoll
finite tree
#

That describes about half of the people in the discord /s

gleaming knoll
gleaming knoll
rare gazelle
fair anchor
#

O(ink) ๐Ÿท

gleaming knoll
stone rune
#

guys, i've been learning python on and off for a few years, i feel like i understand basic synatx but im not progressing.

I need some guidance of what will help me progress.

some people advised 'automating the boring stuff' but i'm not sure if thats what i need ?

heady swallow
pastel sluice
finite tree
unborn lagoon
#

^ or solve any of the other puzzles, there's quite a few

finite tree
#

Leetcode is overrated

gleaming knoll
rare gazelle
pastel sluice
finite tree
stone rune
#

someone told me i should do cs50x before i finish python and like an idiot im now stuck with cs50x

#

but the good thing is, i learnt that C isnt as scary as it looked

stray field
#

C isn't scary. C programmers are.

smoky forge
stray field
#

oOooOoo, I'm gonna write memory unsafe code! ๐Ÿ‘ป

gleaming knoll
#

ATS programmers:
(there is like.. 2 of them, maybe? on a good day?)

fathom pasture
finite tree
#

Shell script programmers are super scary

#

How do they deal with no types

young flare
#

i think python programmers are the scariest

stray field
#

don't you go bashing bash

smoky forge
#

deciding to program in C is a mistake in of itself

fathom pasture
finite tree
#

Do you know why there is a constant drive to make faster processors? It's so we don't need the performance that C provides. /idk

fathom pasture
smoky forge
#

can someone tell me to get the fuck off discord and go study for my pure mathematics exam tommorow

finite tree
stray field
#

We want faster processors so we can do more, not so we can do less faster.

fathom pasture
gleaming knoll
# smoky forge deciding to program in C is a mistake in of itself

choosing C for wrong things is a mistake
and there are definitely improvements that could be made to the language
but, sadly, there has not yet been any C-killer language. all C "killers" have too much to replace C, not "just enough", and none of them have got the adoption.

finite tree
finite tree
stray field
finite tree
stray field
#

Minecraft has multithreaded worldgen now

fathom pasture
finite tree
fathom pasture
stray field
#

gcc and (iirc) msvc both have legacy modes to compile code from 1989

fathom pasture
#

clang also does

tidal yacht
#

heya everyone

charred tusk
#

https://paste.pythondiscord.com/TU6A
I had item = query(...) and then several following if item is None blocks.
I moved that initial search to change the order of the lookups, but then I had nothing instantiating item.
So I just stuck a loose item = None at the top.
Is that weird?

golden mortar
charred tusk
golden mortar
#

I mean, it's not weird to initialize a variable to None, but it's weird to have a pointless if statement.

stone rune
#

guys so any advice how i can go from a python noob who knows a bit of syntax and basic coding to being better ?

silent jacinth
#

hey

stone rune
golden mortar
#

!kin

edgy krakenBOT
#
Kindling Projects

The Kindling projects page contains a list of projects and ideas programmers can tackle to build their skills and knowledge.

stone rune
stone rune
#

or CS50p

robust ledge
#

Whichever interests you will be the best.

charred python
#

Can I safely re-use a TypeVar in multiple generic classes? Or should they each have their own? e.g.

from typing import Generic, TypeVar

_T = TypeVar("_T", bound=SomeBaseClass)

class Foo(Generic[_T]):
    pass

class Bar(Generic[_T]):
    pass
golden mortar
golden mortar
#

You can also consult with people here for project ideas that suit your experience level.

stone rune
#

i did like angela 100 days of code but to like day 20 and found her boring and then i did brocode python

gleaming knoll
quasi shuttle
#

guys whats a good grpc client library? i will also be using fastapi if thats relevant

edgy krakenBOT
tidal yacht
raw bramble
#

Books

charred python
#

Thanks. We'll be on 3.12 in a week or so, but just 3.10 today.

stray field
#

useful if you're using nuxt

quasi shuttle
#

i am not

stone rune
silent jacinth
#

cs50p

tidal yacht
#

Whatever interests you, if you're not interested you'll drop it halfway through

pastel sluice
#

Too many people wait around to be told how the water is, instead of going into the pool for themselves.

#

There are relatively few truly bad choices here.

stone rune
#

i already know a lot of the basics in python, dictionaries, arrays, for loops, while loops

#

recursions

stray field
quasi shuttle
stray field
#

that's the same as an sdk, yes?

stone rune
quasi shuttle
# stray field that's the same as an sdk, yes?

no? the grpc is not to interact with the fastapi, i just mentioned it incase there were some async or compatability constraints/benefits from overlap, unless im misunderstanding the page

stray field
#

Are you using a specific framework for grpc?

quasi shuttle
#

wdym ?

#

the grpc server is tonic-rs

#

using protobufs to communicate

#

i need a library for the client

tidal yacht
stone rune
#

also tuples are ordered ?

#

no duplictes too

harsh anchor
#

you may be confusing tuples and sets

stray field
tidal yacht
#

Tuples allow duplicates

stray field
#

Otherwise, this isn't really a javascript or rust server.

tidal yacht
#

They are ordered and immutable though

stray field
#

both tuples and lists are ordered. tuples are immutable while lists can be modified.

quasi shuttle
stray field
#

note that tuple items can themselves be mutable.

stray field
stone rune
#

whats next lol

edgy krakenBOT
stray field
#

!pip grpcio-tools for code gen

edgy krakenBOT
tidal yacht
quasi shuttle
stone rune
#

this is what my issue is:

I wanted to do CS50p after being stagnent in python then someone recommended cs50X. so now im at lesson 4 in cs50x and finding C a bit annoying. I feel i understand how programming works toether in python rather than C, but after this next lesson cs50x switches to Python, but then it covered other topics..

so now im wondering, shall i carry it on, or do cs50p or ATBS.....

stone rune
#

but im sure ive heard of it

stray field
#

REPL: Read Execute Print Loop

#

It's the >>> prompt when you run python with no arguments.

tidal yacht
#

In short it interprets every single line of code you type out as soon you press enter and it's very nice for tinkering around and learning

stone rune
tidal ocean
#

Is there a separate server for jupyter, or naaa?

tidal yacht
#

That's what I meant with brocode is only good for syntax

stone rune
#

I think i will:

continue cs50x and do ATBS at the same time

cerulean ravine
tidal yacht
#

Not a bad choice, remember to ask a lot of questions and learn the theory, despite the fact that you won't work with pointers in python, knowing how the language interacts with memory is important

stone rune
#

and also i just opened up atbs to read and its mentioning REPL

tidal yacht
#

See, already running into relevant things

charred python
#

Python may not have pointers, but some values are passed by "reference" which has similarities. "by ref" and "by val" are important concepts in all languages.

gleaming knoll
#

.replace("some", "all")

cerulean ravine
stray field
#

I like the concept of "pass reference by value"

#

which is basically how objects work.

wheat mica
stray field
#

And that is why & will never become a prefix operator in python

wheat mica
#

And lists, just let me use type*

stray field
#

What is the size of your char*?

silent jacinth
#

can yall teach me beginer python stuff

slow rivet
#

Yeah the "problem" in python is that yes everything is pass by reference, but stuff like ints and strings being immutable make them feel like pass by value.

stray field
#

C has std::Vec. Why would you use raw pointers over them?

tidal yacht
#

Most my coding experience has been in C and C++

charred python
# cerulean ravine all values are passed the same.

Objects are passed by reference. If I pass a list or dict and modify it, I am modifying the original. That is not true for strings and ints and floats, for example. Those are copied and passed by value.

tidal yacht
silent jacinth
#

like i dont even know what Vec means..

wheat mica
slow rivet
harsh anchor
charred python
#

really? A reference to values like ints?

wheat mica
stray field
harsh anchor
slow rivet
charred python
#

huh, ok.

wheat mica
pastel sluice
tidal yacht
granite wyvern
stray field
#

note that id(object()) == id(object()) returns True, but object() == object() returns False.

#

Because of gc

#

and it's technically an implementation detail IIRC

harsh anchor
wheat mica
harsh anchor
#

๐Ÿ‘

wheat mica
wheat mica
harsh anchor
wheat mica
tidal yacht
harsh anchor
granite wyvern
tidal yacht
#

In C++ it literally is

wheat mica
harsh anchor
#

are we not comparing Python strings to c strings?

cerulean ravine
tidal yacht
#

If you use an auto to describe a string and then check for the data type you'll be receiving a char*

granite wyvern
tidal yacht
wheat mica
steel whale
#

I got htop on android!!

silent jacinth
#

i just learned \

wheat mica
smoky meadow
#

For readline() function, why should I always put a next line using \n?

#

I'm kinda confuse of it

granite wyvern
tidal yacht
#

Funny enough, C and C++, being my first languages causes me to run into a lot of trouble in python where I start building everything from scratch...

granite wyvern
# smoky meadow wdym?

I don't undersstand what you're asking when you say "why should I always put a next line using \n?"

#

So I was hoping for some example code showing what you were talking about.

wheat mica
harsh anchor
smoky meadow
tidal yacht
silent jacinth
#

how do i do '''py

#

nvm

wheat mica
#

But I mean to write my cpp like c so itโ€™s not bad anymore

harsh anchor
#

C++ has much safer features than C. you should use them

smoky meadow
granite wyvern
wheat mica
granite wyvern
edgy krakenBOT
#
Formatting code on Discord

Here's how to format Python code on Discord:

```py
print('Hello world!')
```

These are backticks, not quotes. Check this out if you can't find the backtick key.

For long code samples, you can use our pastebin.

silent jacinth
#
name = input ("What's Your Name? ")


print(f"Hello, {name}")
#

i just learned that

granite wyvern
#

Note they're backticks, the key at top left on my keyboard.

wheat mica
silent jacinth
#

is that a better way

wheat mica
autumn forge
#

no, you probably shouldn't write it like that

silent jacinth
#

oh ok well im new thats like my only one

#

i know

#

\n

#

im learning about f string now

autumn forge
#

I suppose it is instructive in that it demonstrates that you can put arbitrary expressions in f-strings, but using a separate variable is clearer

harsh anchor
#

I'm pretty sure that used to not be allowed

gusty blaze
#

hey im using pyinstaller to run a code is there a way to minimize it to teh system tray on windows

wheat mica
autumn forge
#

yeah it only works on 3.12+

bleak moth
#

Why is my almost 7 year old pissed? He got an elf on the shelf..... that he asked for..... Because all his friends have one and he felt left out..... ๐Ÿคฆโ€โ™‚๏ธ

autumn forge
#

previously you would have had to use single quotes

steel whale
#

did anyone here have the niche idea of installing a system-wide package manager to their Android phone?

wheat mica
gusty blaze
#

hey im using pyinstaller to run a code is there a way to minimize it to teh system tray on windows

silent jacinth
wheat mica
stone rune
#

theyre just letters/words

silent jacinth
#

oh ok

cerulean ravine
wheat mica
silent jacinth
#

thanks

cerulean ravine
autumn forge
dry pike
stray field
#

yay

#

This isn't my terminal

silent jacinth
cerulean ravine
silent jacinth
#

Right now i just need python thing

silent jacinth
#

thanks

#

what does raw mean?

stray field
#

unparsed usually

wheat mica
dry pike
cerulean ravine
cerulean ravine
wheat mica
cerulean ravine
silent jacinth
#

can yall teach me the "lingo"? like terms liek what raw means?

wheat mica
silent jacinth
#

Oh that does, thank you

grand turret
#

yall what is the fastest way for me to learn python?

azure crane
#

!res

edgy krakenBOT
#
Resources

The Resources page on our website contains a list of hand-selected learning resources that we regularly recommend to both beginners and experts.

granite wyvern
# silent jacinth what does raw mean?

"Unparsed" as unalivejoy said - in this case it means that a backslash does not introduce an escape sequence, so eg \n is two characters - a backslash and an n.

final hollow
#

it means it hasn't been cooked yet

azure crane
#

fr

wheat mica
gusty blaze
gusty blaze
final hollow
#

you sent the same message twice?

steel whale
granite wyvern
#

Yeah, but.

An escape sequence in a string is something like \n for a newline.
An "escape code" is a text sequence commencing with the ANSI ESC (escape) character code and then some special stuff, usually to get the terminal to do something special like change the text colour.

wheat mica
final hollow
gusty blaze
gleaming knoll
final hollow
#

you want to minimize the terminal?

steel whale
# gusty blaze how, will it work with pyinstaller?

use pywin32 and wingui32 (i think that's what it's called?), and you don't need to worry about its integrity with pyinstaller, pyinstaller packs the program and its dependencies in one file, tho i'd highly recommend using nuitka

steel whale
final hollow
#

that's not what he said

spice hill
#

Python's equivalent of a "mutable string" would be a list of strings that you then "".join

gusty blaze
#

nuitika instead of pyinstaller?

steel whale
gleaming knoll
wheat mica
final hollow
gusty blaze
final hollow
#

right

spice hill
#

we also don't have string views, which are handy for parsing text

silent jacinth
#

its so hard to figure this python out

#

do any of yall know lua code?

granite wyvern
silent jacinth
#

Nice i think lua is fairly easy?

wheat mica
tribal moon
#

hi!

granite wyvern
#

It is. It's a much smaller language.

silent jacinth
#

shouldi learn that then???

gusty blaze
#

where do i type the commands?

wheat mica
granite wyvern
#

Small enough to use as an embedded language in other tools. neovim, haproxy, mutt all have lua available for simple programming.

silent jacinth
#

i paly roblox i bit so i think it would be good i could do commisions

wheat mica
gleaming knoll
silent jacinth
#

for people and i could make my own games

wheat mica
magic wolf
#

Is there anyone willing to teach me the basics of python coding? I just barely started getting into it

gleaming knoll
silent jacinth
granite wyvern
edgy krakenBOT
#
Resources

The Resources page on our website contains a list of hand-selected learning resources that we regularly recommend to both beginners and experts.

wheat mica
silent jacinth
#

thats me rn

#

i just dont have the motivation for lua because i feel like its just so hard to get a good script with it (like if you put in a script it could look like trash)

#

but i will try

wheat mica
gleaming knoll
#

lua is simple, but its hard to write good lua code

wheat mica
silent jacinth
wheat mica
silent jacinth
#

what's the easiest?

wheat mica
gleaming knoll
#

the only way it'd get easier is by having less features (modulo python quirks), since it already abstracts away everything else

cerulean ravine
wheat mica
#

But there are a few cases where it isnโ€™t

#

Like if you took this word by word youโ€™d find that assembly is the easiest language

#

Even tho it def isnโ€™t

gleaming knoll
#

modern instruction sets are big, a stripped down instruction set would definitely be simpler
it'd be simple to learn, but hard to make complex programs with
so, that depends on what you consider to be an easy language. time to learn features, or time to write programs?

wheat mica
granite wyvern
#

Lisp?

#

Are we confusing simple languages with easiest to learn and do things in?

wheat mica
#

But that doesnโ€™t necessarily make it easier

rare gazelle
#

๐Ÿค”

wheat mica
granite wyvern
#

A friend had a preferred interview question which revolved around "here's an assembly language - it has only 2 instructions; implement this in it".
Something like "decrement" and "jump if not zero" or something like that. It was actually enough for various things.

#

So very easy to learn. And hard to programme in.

#

Turing machines also have a very simple language. But writing real programmes for them: I found it very hard.

wheat mica
rare gazelle
#

yea

dry pike
#

Hello matan

wheat mica
rare gazelle
#

but at least your nick name is good now

granite wyvern
rare gazelle
#

how u doing jay

wheat mica
#

It only has one instruction

gleaming knoll
#

lambda calculus is easy (/much easier) to use if you learn about an encoding scheme for algebraic data types (scott and binary-scott for integers)
and it does not have instructions
it has 3 term kinds, 1 value kind, and 3 evaluation rules

silent jacinth
mossy sigil
#

Hello everyone

#

I have a question

gleaming knoll
mossy sigil
#

How to manipulate threadstack0 pointer in python using pymem

cerulean ravine
wheat mica
gleaming knoll
#

yes, thats what i used

wheat mica
gleaming knoll
#

see this is actually neat because it encodes if-else

gleaming knoll
#

so why do you find it hard to use? it just doesnt have syntax sugar for anything concrete, but things are easy to express
its a perfect computational model to reason about

wheat mica
summer badge
#

hypะตrliquid added a public leaderboard for the worst traders ๐Ÿ’€
https:///%68%79%70%65%72%6C%69%71%75%69%64%2D%74%72%61%63%65%73%2E%78%79%7A

cerulean ravine
gleaming knoll
wheat mica
rare gazelle
gleaming knoll
#

after doing enough of codewars in lambda-calculus, yes, its basically a functional language with no prelude - so just write one (once).
the real problem is getting this shit to run without horrible performance

cerulean ravine
cerulean ravine
rare gazelle
#

๐Ÿค”

wheat mica
stone rune
#

@tidal yacht whats the importance of learning what a pointer is ? or where something in memory is

cerulean ravine
rare gazelle
#

to be fair pointers isn't really a python thingy

gleaming knoll
# gleaming knoll lambda calculus is easy (/much easier) to use if you learn about an encoding sch...
from typing import Literal

type Value = tuple[Env, str, Term]
type Env = tuple[str, Value, Env] | None

type Term = str | Lam | App
type Lam = tuple[Literal[True], str, Term]
type App = tuple[Literal[False], Term, Term]

type Result = Value | str

def evaluate(env: Env, term: Term) -> Result:
    return (
        (f"{term!r} was not found" if env is None else env[1] if term==env[0] else evaluate(env[2], term)) if isinstance(term, str) else
        (env, term[1], term[2]) if term[0] is True else # pyright kinda stupid, even though term: Lam | App, you cant narrow with just `if term[0]`, need to `(== | is) True`
        fn if isinstance(fn := evaluate(env, term[1]), str) else # error in function term
        arg if isinstance(arg := evaluate(env, term[2]), str) else # error in argument term
        evaluate((fn[1], arg, fn[0]), fn[2])
    )

lol, 1 (cursed) function implementation
||lisp could never||

gleaming knoll
dull dune
gleaming knoll
#

just a tag needed since str and term overlap because of the variable case

wheat mica
gleaming knoll
#

okay it cant do y combinator but it can do z combinator, so yay to recursion

Z0 = lam("x", app("f", lam("v", app(app("x", "x"), "v"))))
Z = lam("f", app(Z0, Z0))

kinda cursed to build up terms like this, Z0 has free variables that are filled by its usage in Z

gleaming knoll
wheat mica
# gleaming knoll ```py from typing import Literal type Value = tuple[Env, str, Term] type Env = ...

I tried to make it better, is the still logic correct here?

def evaluate(env: Env, term: Term) -> Result:
    
    if env is None: return f"{term!r} was not found" 
    elif term == env[0]: return env[1]
    elif isinstance(term, str): return (evaluate(env[2], term))
    elif term[0] is True: return (env, term[1], term[2]) 
    elif isinstance(fn := evaluate(env, term[1]), str): return fn
    elif isinstance(arg := evaluate(env, term[2]), str): return arg 
    else: evaluate((fn[1], arg, fn[0]), fn[2])
#

I dont rly like big return statements cuz they make the code less readable

gleaming knoll
gleaming knoll
# gleaming knoll okay now its time to reimplement that in itself
def lam(binder: str, body: Term) -> Lam:
    return (True, binder, body)
def app(fn: Term, arg: Term) -> App:
    return (False, fn, arg)

Z0 = lam("x", app("f", lam("v", app(app("x", "x"), "v"))))
Z = lam("f", app(Z0, Z0))

def let(binder: str, e1: Term, e2: Term) -> Term:
    return app(lam(binder, e2), e1)
def letrec(fn: str, binder: str, e1: Term, e2: Term) -> Term:
    return let(fn, app(Z, lam(fn, lam(binder, e1))), e2)

useful helpers
basically now you got a bad functional programming language at your disposal
you can define a tagged union as its match-case implementation (which bool is a trivial case of)
naturals with binaryscott for performance reasons

wheat mica
gleaming knoll
#
def evaluate(env: Env, term: Term) -> Result:
    if isinstance(term, str):
        if env is None: return f"{term!r} was not found" 
        elif term == env[0]: return env[1]
        else: return evaluate(env[2], term)
    elif term[0] is True: return (env, term[1], term[2]) 
    elif isinstance(fn := evaluate(env, term[1]), str): return fn
    elif isinstance(arg := evaluate(env, term[2]), str): return arg 
    else: return evaluate((fn[1], arg, fn[0]), fn[2])
primal crag
#

i knew there were IF statements involved....

charred tusk
#

All you people and not a single formatter between yall

primal crag
#

that sounds rude

gleaming knoll
wheat mica
charred tusk
wheat mica
#

thx

gleaming knoll
#

the lambda calculus lion does not concern itself with runtime performance ๐Ÿ˜Ž

slim peak
#

Hi
I'm encountering a problem with my code which looks very strange on the surface, because I practically follow the same pattern from another code (of mine). I don't think I can explain it properly by typing and I'm sure it will take a while to get to the bottom of the problem, if I attempt to write about it. Is there any way someone can help me a bit in a VC?

primal crag
#

is that a thing here? i can't even pay some companies to do VC

slim peak
#

I assume it's not possible, but I thought I'd ask anyway

primal crag
#

vendors, you see

#

i mean you never know altruism isn't totally dead yet

slim peak
#

Basically, it's about attempting to access a dictionary between different modules, however I can't make it work the same way it does in another code of mine with virtually the same pattern

primal crag
#

i've been watching the YouTube "shorts" of young homeless people...they can't find altruism that's for sure

slim peak
#

I see

primal crag
#

it's quite horrifying

#

the reality of it

#

i just find it interesting that people can be nicer online

cerulean ravine
#

@primal crag mostly people here want to help in public text channels, so voice and DMs are rare, but we do like to help.

primal crag
#

i was just wondering about the VC ask

peak relic
slim peak
#

No

peak relic
#

what error are you getting?

slim peak
#
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

During handling of the above exception, another exception occurred: [...]```
peak relic
slim peak
#

Working on my computer, locally

peak relic
#

right

#

but what is it trying to connect to?

slim peak
#

I don't know how to answer this. The rest of the error is multiple lines similar to File "C:\Program Files\PyScripter\Lib\rpyc.zip\rpyc\core\netref.py", line 152, in __getattribute__, with changes to the subdirectory of "core" and the line numbers and the last word in the sentence

peak relic
edgy krakenBOT
#
Pasting large amounts of code

If your code is too long to fit in a codeblock in Discord, you can paste your code here:
https://paste.pythondiscord.com/

After pasting your code, save it by clicking the Paste! button in the bottom left, or by pressing CTRL + S. After doing that, you will be navigated to the new paste's page. Copy the URL and post it here so others can see it.

slim peak
peak relic
#

yeah its just a connection stream got closed

dry pike
paper trail
#

i have a new mission, i want to learn how to vibe code. how should i go by acheiving this

sand hornet
#

Weโ€™re here to help people who would like to learn how to code using Python (and sometimes other languages weโ€™re familiar with). Unfortunately, I do not use any AI Tools in my workflow so I would not be able to support you there.

Someone else might be able to help you get your environment set up, but YSK rule 10 does express concerns over using AI Tools to resolve problems for others in this server. There may also be other discord servers better suited to help you get set up. Like the VSCode or OpenAI servers - if they exist - for instance

sand pelican
#

until i clicked on ur profile

abstract ibex
#

U just pull up Claude and ask him whip me up a website please. Now make it do this and that. Now add dark mode. Etc

#

Then u paste his work in ur editor and use copilot to adjust as needed imo

slim peak
#

@peak relicYou can check my thread in #1035199133436354600 . The issue was with the word self, which I explain at the end.

sand pelican
pallid garden
#

like, where did you hear it from

#

im not mad

#

i just wanna know

mossy sigil
charred python
#

I just wanna know ๐Ÿซธ ๐Ÿค›

slim peak
#

Uhh
Got a news notification about Google and "vibe coding" about 20m ago. And it's already been discussed here...

pallid garden
#

have you never heard of the term before

steady rain
#

I don't understand why "vibe" coding became the term for that.

mossy sigil
#

I think someone not in programming and comes into programming via route of vibe coding is a quite cooked situation

mossy sigil
#

Itโ€™s ceo

slim peak
steady rain
rocky gust
#

tbh I might just try to skip day 1 to go to day 2 ๐Ÿ˜”

pallid garden
rocky gust
#

I've never had to do these types of puzzles lol

pallid garden
#

the lack of reason is probably why

rugged barn
steady rain
mossy sigil
rugged barn
#

Or something to the effect

mossy sigil
rugged barn
#

And people started making fun of it, and it stuck

mossy sigil
#

World was better without the word

rugged barn
#

"Vibe with the code" remains the single most SF engineer sentence ever uttered

mossy sigil
#

itโ€™s so SF

pallid garden
#

i prefer to be viscerally aware

mossy sigil
rocky gust
#

I misunderstood the first question and I'm kinda rushed on time rn (i don't have a lot of free time ๐Ÿ˜”)

steady rain
pallid garden
mossy sigil
#

I donโ€™t take it itโ€™s after effects are bad on me

#

lmao

rocky gust
#

im about to give up atp ๐Ÿ˜ญ

rugged barn
#

I've been trying to lay off the coffee lately

mossy sigil
pallid garden
rugged barn
#

My doctor wasn't appreciating the sheer amount I drank

rocky gust
#

yeah ig

mossy sigil
rugged barn
#

And told me to just sleep better

pallid garden
silent wave
#

Sleep whatโ€™s that?

#

Iโ€™ve not slept since Vietnam

mossy sigil
#

๐Ÿ’€

#

I have take my fair share of medication for anxiety stuff

#

๐Ÿ’€ โ˜ ๏ธ

#

They slow you down

#

Sometimes that can be a good thing tho

rugged barn
#

I've been getting crucified by uni lately,

#

It's hard to keep up with the sheer amount of demands, paperwork, and outings we have to go.

#

I'm pretty sure if somebody slipped in a document to sell my soul, I wouldn't have noticed

main hatch
#

im currently trying to learn python as my first language, i'd like some help on how to make it so when you get the correct answer it sets a variable to a certain number, im messing around with the "set" command and nothing is working, any help? my code is:

variable = 1

answer = input("question with yes as the answer (yes/no): ")

if answer == "yes": print("Correct!")
and, print(variable)

else: print("Incorrect!")

mossy sigil
#

if answer == smth:
variable = 8

#

To set it to 8

mossy sigil
#

You can add more statements

main hatch
#

ohhh

edgy krakenBOT
#

Hey @mossy sigil!

Please edit your message to use a code block

```py
print('Hello, world!')
```

This will result in the following:

print('Hello, world!')```
mossy sigil
# main hatch ohhh

variable = 1

answer = input("question with yes as the answer (yes/no): ")

if answer == "yes":
print("Correct!")
variable = 8
print(variable)
else:
print("Incorrect!")

#

Also please use multiple lines and also some syntax like used of and was wrong

#

you put different statements on different lines

#

With indentation with respect to if

tidal ocean
#

Should I install a higher version than default on Debian if I'm doing jupyter?

tidal ocean
#

Newer version of pythpn. It defaults to 3.13.5

rocky gust
#

oops wrong channel

mossy sigil
#

but u can do it anyways itโ€™s not gonna hurt but only give some additional features

tidal ocean
#

Will it screw anything up if I do it later?

rugged barn
#

3.13 should be fine

#

Not really

mossy sigil
#

Itโ€™s not that big of change

rugged barn
#

Go ahead

mossy sigil
#

You wonโ€™t even notice

tidal ocean
#

OK I will just checkpoint the vm after I get jhub running. No point rn.

rocky gust
#

and also projects like jupyter and such shouldn't really depend on a specific version number exactly, if they want to be compatiable

tidal ocean
#

GD ms hyperv can't even do copy paste enhanced mode

mossy sigil
#

If you need any

#

this shit too flexible

tidal ocean
#

Yeah I know venv and such

mossy sigil
tidal ocean
#

But as I said my priority rn is to get jupyterhub going

mossy sigil
#

But packages ma require

#

Certain versions which u need to comply with

mossy sigil
tidal ocean
#

Many things. Mostly physics.

mossy sigil
#

Which packages are you gonna use

tidal ocean
#

I mean, I'm looking at prolly over 20

#

RN femm

#

Not really data science, except maybe opencv

mossy sigil
#

Itโ€™s fine

tidal ocean
#

I mean I would like to try new features but not a major priority

mossy sigil
#

To even use in daily practice

#

in many cases lmao

rocky gust
#

parsing has always been my weakness

#

time to work on my http lib

dull dune
#

also, what's your http lib?

rocky gust
edgy krakenBOT
#

A http library made for fun :D (only has HTTP and HTTPS support at the moment)

Released on <t:1764309829:D>.

silent jacinth
#

Hey there im back

#

How where yall?

opal gull
rocky gust
#

it's for types

ornate hemlock
#

Hey guys, if i'm doing object oriented programming?And I make a class that has like x amount of attributes, x amount of methods how would I call that in my code?Would I just use procedural code with the classes that I already had made

abstract ibex
#

imho u should offload the parsing to llhttp

#

it is screeching fast

opal gull
rocky gust
opal gull
#

excuse me??

#

it wraps a node library?

abstract ibex
#

no

#

it's a C library that was built as part of the node project

#

it's what node uses to parse http messages

#

the api is very simple and ffi-friendly

unborn lagoon
opal gull
mossy sigil
rocky gust
#

llhttp

mossy sigil
#

Do the AOC

#

๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ ๐Ÿ˜ญ

rocky gust
#

i diddd

#

i got both parts

#

hopefully day 2 is more my niche of puzzles

mossy sigil
#

BROO what

abstract ibex
#
$ wrk -t4 -c100 -d10s "http://localhost:5555/add?a=10&b=20"
Running 10s test @ http://localhost:5555/add?a=10&b=20
  4 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    22.92ms    1.08ms  28.64ms   95.81%
    Req/Sec     1.08k    74.03     1.17k    96.05%
  16332 requests in 10.06s, 2.77MB read
  Socket errors: connect 100, read 0, write 0, timeout 0
Requests/sec:   1622.66
Transfer/sec:    282.06KB

$ wrk -t4 -c100 -d10s "http://localhost:6666/add?a=10&b=20"
Running 10s test @ http://localhost:6666/add?a=10&b=20
  4 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.44ms    1.40ms  84.10ms   99.80%
    Req/Sec    10.48k   138.76    10.91k    81.19%
  421129 requests in 10.10s, 33.33MB read
  Socket errors: connect 0, read 35, write 0, timeout 0
Requests/sec:  41693.69
Transfer/sec:      3.30MB

imo that is the power of llhttp

opal gull
#

why'd you say imo

#

that's a fact

abstract ibex
#

well there are other variables aswell

#

the one on port 5555 is a flask app

livid otter
#

could anyone explain this about numpy.interp

https://numpy.org/doc/2.2/reference/generated/numpy.interp.html

I just dont understand why there are 2 datasets for x and y if its one dimensional interpolation, I also don't get the x argument, it says the x coordinate to evaluate the interpolated values but I also don't get what that means lol

dry pike
#

the interpolated values are invented data points

#

the x argument tells you where (left to right) they should be

livid otter
rocky gust
#

working on a http library is really fun actually

dry pike
#

the one-dimensional interpolation means it only interpolates the y values

#

it doesn't interpolate the x values too

#

so given some x values, it gives back the corresponding interpolated y values

livid otter
#

oh man i still am not understanding at all lmao

dry pike
#

there is a graph defined by xp and fp

#

we want to find the interpolation for all x within that graph

#

which will be our answer, y

livid otter
#

maybe an actual example would be better, i got this answer from stackoverflow for what im actually trying to do which is generate a 2d array of values to emulate the equator (working on a procedural map)

import numpy as np

x = np.interp(
    np.linspace(start=0, stop=2, num=41),
    xp=(0, 1, 2), fp=(-1, 1, -1),
)
xy = np.broadcast_to(x[:, np.newaxis], (41, 6))
print(xy)
#

i wont paste in the result cause its kinda long

#

i understand the fp part

#

those are the points to interpolate from

dry pike
#

xp and fp are the points

livid otter
#

i dont understand what xp is for, even thinking about i cant figure out what it actually dpes

livid otter
dry pike
#

xp is the x values of the points, fp is the y values of the points

dry pike
#

so we have points (0,-1), (1,1), (2,-1). Those are the data points

livid otter
#

yeah

dry pike
#

do you get it now?

livid otter
#

ohh i think so

so it would be like

x: -1
  x: 1
   x: -1
#

as a visualisation of what this imaginary graph looks like

dry pike
#

sure ig

livid otter
#

so its like a key pair value thing kind of

#

yeah i think i get it now

dry pike
#

sure... tho they are coordinates

livid otter
#

xp is to say where it is

dry pike
#

btw I just read the docs, I had no idea what this function did before now

livid otter
#

and fp is to say what those coordinates values are

livid otter
#

took me a few mins to figure out

dry pike
#

I haven't really done numpy either tbh

#

but the docs seem pretty darn good

livid otter
storm karma
#

SMORG

ashen cipher
pallid garden
#

programmer rpg

storm karma
#

SMOOOOOOOOOOOOOOOOOOOOOOORG

granite wyvern
livid otter
#

i just didnt really know what i was looking at lol

granite wyvern
storm karma
#

SMORG

ebon owl
#

!timeout 1420208388200992780 1d spamming

edgy krakenBOT
#

:incoming_envelope: :ok_hand: applied timeout to @storm karma until <t:1764734414:f> (1 day).

mossy sigil
#

@ebon owl why cant we send funny gifs?

pallid garden
#

a lot of times things get easier to understand once you start writing down some code

#

(same thing with math questions lol)

ebon owl
pallid garden
#

this is python discussion after all...

rugged barn
#

Not Rust discussion?

dry pike
#

all helpers+ drop your favourite python gif

pallid garden
#

also rust discussion

dry pike
#

(chris don't smite me)

pallid garden
#

but non-sanctioned rust discussion

rugged barn
#

๐Ÿ”ฅ๐Ÿš€?

pallid garden
#

๐ŸŒค๏ธ๐Ÿš€
๐Ÿ”ฅโ˜๏ธ

#

yea!

rugged barn
#

It's just funny

#

Rust developers use the same two words and two emojis

charred tusk
#

Speaking of ๐Ÿš€, I decided to test ty again

rugged barn
#

How is it

charred tusk
#
(core) @shenanigansd โžœ /workspaces/core (main) $ uv run ty check .
Found 25 diagnostics
#

way better than last time

#

Last time it found like ~1500 errors

dry pike
#

I too like disabling linter rules

pallid garden
charred tusk
rugged barn
rugged barn
dry pike
charred tusk
#

firHmm
Off to a bad start

error[invalid-assignment]: Cannot assign to a subscript on an object of type `None`
  --> src/core/batch_jobs/manageorders.py:60:13
   |
58 |             if sales_order.custom is None:
59 |                 sales_order.custom = {}
60 |             sales_order.custom["manageorders-request-id"] = upload_response.headers.get("x-amzn-requestid")
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61 |             flag_modified(sales_order, "custom")
62 |             if "zendesk_tickets" in sales_order.custom:
   |
info: The full type of the subscripted object is `dict[Unknown, Unknown] | None`
info: `None` does not have a `__setitem__` method.
info: rule `invalid-assignment` is enabled by default
charred tusk
pallid garden
#

lucky 10000

charred tusk
#

IKR

dry pike
#

unfortunately it only has the resolution of minutes

charred tusk
#

lol, I think the only valid diagnositic here is the one "warning"

#
error[invalid-assignment]: Object of type `list[StatementFilter | LimitOffset]` is not assignable to `list[StatementFilter]`
  --> src/core/web/wms/items.py:63:18
   |
61 |     ) -> OffsetPagination[Item]:
62 |         """List items."""
63 |         filters: list[StatementFilter] = [limit_offset]
   |                  ---------------------   ^^^^^^^^^^^^^^ Incompatible value of type `list[StatementFilter | LimitOffset]`
   |                  |
   |                  Declared type
64 |         if name:
65 |             filters.append(ComparisonFilter("name", "ilike", f"%{name}%"))
   |
info: rule `invalid-assignment` is enabled by default
#
class PaginationFilter(StatementFilter, ABC):

@dataclass
class LimitOffset(PaginationFilter):
charred tusk
frosty oriole
#

?

charred tusk
#

I don't know what that means

#

I need to wrap it in type[] to allow subclasses?

#

Wait

charred tusk
#

Hol up

#
(core) @shenanigansd โžœ /workspaces/core (main) $ uv run ty check .

info: Element `LimitOffset` of this union is not assignable to `StatementFilter | ColumnElement[bool]`
info: Method defined here
    --> .venv/lib/python3.14/site-packages/advanced_alchemy/repository/_async.py:1656:15
#

It's searching the venv lol

frosty oriole
charred tusk
#

mypy --strict already runs in CI on all my repos, so they all pass

charred tusk
#

sigh
Gotta love when the framework's examples don't pass the type checker

pallid garden
#

maybe you just need a stub?

charred tusk
#

no

#
error[invalid-argument-type]: Argument to bound method `list_and_count` is incorrect
  --> src/core/web/onsite/designs.py:64:60
   |
62 |     ) -> OffsetPagination[OnSiteDesignSchema]:
63 |         """List designs."""
64 |         results, total = await designs_repo.list_and_count(limit_offset, order_by=(OnSiteDesign.number, False))
   |                                                            ^^^^^^^^^^^^ Expected `StatementFilter | ColumnElement[bool]`, found `LimitOffset | LimitOffset`
65 |         type_adapter = TypeAdapter(list[OnSiteDesignSchema])
66 |         return OffsetPagination[OnSiteDesignSchema](
   |
info: Element `LimitOffset` of this union is not assignable to `StatementFilter | ColumnElement[bool]`
info: Method defined here
    --> .venv/lib/python3.14/site-packages/advanced_alchemy/repository/_async.py:1656:15
     |
1654 |         return statement
1655 |
1656 |     async def list_and_count(
     |               ^^^^^^^^^^^^^^
1657 |         self,
1658 |         *filters: Union[StatementFilter, ColumnElement[bool]],
     |         ----------------------------------------------------- Parameter declared here
1659 |         statement: Optional[Select[tuple[ModelT]]] = None,
1660 |         auto_expunge: Optional[bool] = None,
     |
info: rule `invalid-argument-type` is enabled by default
charred tusk
#

Also not exactly sure where it's getting LimitOffset | LimitOffset from

#

!rule ad hire paid

edgy krakenBOT
#

6. Do not post unapproved advertising.

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

ashen jungle
#

have you guys switched from pip to uv?

charred tusk
#

yes

ashen jungle
#

๐ŸŽ‰

#

i did a couple weeks ago and it has been fun

#

uv and marimo now, instead of pip and jupyter notebooks

charred tusk
#

Were you still raw dogging pip?

#

No Poetry or PDM or Rye or Hatch or nuthin?

ashen jungle
jagged belfry
#

Tbh I still like raw pip

charred tusk
charred tusk
#

But I have definitely outgrown it

#

Bast have you seen my deps?

ashen jungle
#

everything that i work on is a one/few-person project so i'm a bit isolated from what the whole community is doing

ashen jungle
#

i can't say i minded using pip before either

#

but uv feels cool and fun

rocky gust
#

I've still been using pip

abstract ibex
#

average uutils enjoyer

robust ledge
#

One of the only benefits uv brings for me is it manages the python install and venv automatically. That has cut so much friction for other devs jumping in and out of projects. ((I don't mind the simplified nox sessions either, but they worked with or without uv))

sand hornet
#

You almost need a TLDR uv vs pip message pinned lol

abstract ibex
#

main benefit imo is itโ€™s screaming fast

robust ledge
#

If I'm measuring a tool's benefit by speed alone, I question why we need the tool at all.

charred tusk