Python

6677 readers
1 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS
26
27
28
 
 

Hi. I'm trying to install libtorrent but I'm getting an error that I don't know how to resolve. Am I being dumb or is something up?

ERROR: Could not find a version that satisfies the requirement libtorrent (from versions: none) ERROR: No matching distribution found for libtorrent

29
 
 

I'm pretty new to Python because I haven't used it much for many projects over the years, but i decided to use it to make a web app recently with flask to practice. It calls a simple python program that does some file conversion. There's no database.

I'm hosting it on Python Anywhere for free right now. It's for an old TTRPG, so useful for a niche community, but probably not big enough to be worth hosting fees. Just in case, I'd also like to be able to keep an installer on my github or a Dropbox. The hope is others can still grab it, spread it, and install it long after I've lost interest or gotten hit by a bus.

From my googling, I see 3 main options:

  • Path 1: Keep the basic structure of a web app and use one of the frameworks that let me run it in a computer's browser offline.
    • The options here seem to be Flaskwebgui, Electron, or NW.js.
    • This seems the simplest and most straightforward way.
    • Web GUI is ubiquitous nowadays.
    • Part of me also doesn't like that everything has become a web app. I don't even know why. Maybe I don't like the idea of Google controlling everything.
  • Path 2: Keep the basic backend logic but rewrite the web GUI with a desktop GUI, making it more of a true native desktop app.
    • The options here seem to involve using pyinstaller and then some python GUI library/framework like Tkinter, PyQt, PySide, or Dearpygui.
    • I feel this will be slightly more work but it's a super simple UI so remaking it isn't a huge deal.
    • My instincts tell me the end result might be faster, since it won't have to deal with a browser middleman or web routes and such. But, I might be wrong, it might just be my old-ass not used to everything being an electron app nowadays.
    • Might also be more self-contained from carrying it's own libraries and not relying on browser compatibility? Idk.
    • Probably more OS dependent, though. Not sure how easy it is to make it work with PC, Mac, and Linux users.
  • Path 3: There seems to be some way to combine flask and pyinstaller so sounds like a combination of the two is an option, too. Haven't looked into this too much though since most of my search results talked about the above two paths.

So which way is best? And which framework/library/tool in that path?

30
31
32
33
34
35
36
37
 
 

cross-posted from: https://mander.xyz/post/21881380

This is my fourth blog post. Any helpful feedback or insights are welcome.

38
39
40
41
42
 
 

Made this ChatGPT coded bot for telegram to propose to my IT Project Manager lady. She said yes.

43
 
 

https://docs.python.org/3/library/pathlib.html

I'm creating this post mainly so that I don't forget the name again.

44
45
 
 

W

46
 
 

My third blog post. I added variation in the tense of the generated text as well as another possible action for the character.

47
 
 

also you can test pynotes and pyclock

48
 
 

In a requirements-*.in file, at the top of the file, are lines with -c and -r flags followed by a requirements-*.in file. Uses relative paths (ignoring URLs).

Say have docs/requirements-pip-tools.in

-r ../requirements/requirements-prod.in
-c ../requirements/requirements-pins-base.in
-c ../requirements/requirements-pins-cffi.in

...

The intent is compiling this would produce docs/requirements-pip-tool.txt

But there is confusion as to which flag to use. It's non-obvious.

constraint

Subset of requirements features. Intended to restrict package versions. Does not necessarily (might not) install the package!

Does not support:

  • editable mode (-e)

  • extras (e.g. coverage[toml])

Personal preference

  • always organize requirements files in folder(s)

  • don't prefix requirements files with requirements-, just doing it here

  • DRY principle applies; split out constraints which are shared.

49
 
 

Hi,

I wanted to use d2 in an environment where I could only install python and npm packages.

Given that, and that I could not find any other solution, I made d2-python-wrapper, a small python wrapper that bundles the d2 binaries.

Now you can use d2 from python like this:

from d2_python import D2

d2 = D2()

# Simple diagram
with open("test.d2", "w") as f:
    f.write("x -> y")

# Default SVG output
d2.render("test.d2", "output.svg")

# PDF output with specific theme
d2.render("test.d2", "output.pdf", format="pdf", theme="1")

The class just wraps the bin, so it works and supports the same as the bin. There is a GitHub Action that gets the bins for each platform (mac, win, linux) from the releases in this repo and publishes it to pip.

You can install this using

pip install d2-python-wrapper

Here is a short post with more context.

Just in case It's useful for anyone. 😁

50
 
 

Welcome to a new era of interconnected content discussion with PieFed – a link aggregator, a forum, a hub of social interaction and information, built for the fediverse. Our focus is on individual control, safety, and decentralised power.


Like other platforms in the fediverse, we are a self-governed space for social link aggregation and conversation. We operate without the influence of corporate entities – ensuring that your experience is free of advertisements, invasive tracking, or secret algorithms. On our platform, content is grouped into communities, allowing you to engage with topics of interest and disregard the irrelevant ones. We utilise a voting system to highlight the best content.


Video introduction the codebase

view more: β€Ή prev next β€Ί