Second-Hand-Friends / kleinanzeigen-bot

A dilligent command line tool to publish ads on kleinanzeigen.de
GNU Affero General Public License v3.0
217 stars 44 forks source link

Dependency on python >=3.10? #15

Closed jniggemann closed 2 years ago

jniggemann commented 2 years ago

Hi,

Debian stable only has python 3.9, with a dep on >= 3.10 we exclude a whole lot of users. Which part of the code depends on 3.10 and can we change that to work with 3.9?

sebthom commented 2 years ago

Hi Jan, I actually doubt a lot of users are using Debian as their desktop environment and the ones that do, are probably very tech saavy and can install 3.10 precompiled binaries from deadsnakes custom PPA as described here https://computingforgeeks.com/how-to-install-python-on-ubuntu-linux-system/ (or even easily compile Python from sources). We could however add instructions respective instructions to the readme.

Honestly I am not too keen to develop against an older Python version, as 3.10 brings some really nice language improvements that make it a joy to work with.

I am also planning to provide a docker image that has all the required/supported components (python, chromium, chrome driver). Which would be an even simpler way for Linux users to run the app.

WDYT?

jniggemann commented 2 years ago

Hi Seb,

personally, I'd never use a non-Debian repo, but then again - I'm also one of those that use Debian on my desktop - so perhaps I'm not a reference ;-)

Python 3.10 is from October 2021, so only 3 months old, which is very young for me. I like software similar to a steak - well hung / matured, so I prefer using older versions (that have a lots of bugs fixed) that are rock stable. But OTOH, I fully understand that you want to benefit from 3.10 improvements.

I'd say that for now, let's just document a workaround. If someday a lot of people request python <3.10 compat, we could still give it some thought.

That said, documentation is my thing and would like to contribute. Would you prefer documentation to be in the repo itself (subfolder?) or rather use github pages? Or - IMHO overkill at the moment - use a separate repo only for the docs?

I have used asciidoc and markdown/pandoc in other projects, but I think for now, some github wiki pages would be sufficient.

Tschak77 commented 2 years ago

Hi Jan, about documentation, I would also suggest to create one in German, maybe more people will use the software. Ebay Kleinanzeigen is only in Germany or lets say German speaking countries.

sebthom commented 2 years ago

I think the wiki would be the best place for user documentation. However I don't know if you can actually send PRs to a wiki - even tho it is just a git repo. Not being able to send PRs would make contributions by non-project members difficult.

any experiences here?

jniggemann commented 2 years ago

any experiences here?

Some. I think you're right and there are no PRs possible. IIRC, you can either make the wiki public, or give project members edit permissions. If that's the case, I'd be happy to come up with something.

@Tschakk77

about documentation, I would also suggest to create one in German, maybe more people will use the software. Yep, I'd initially go with a German version (German is my native language). We can always add more languages later.

sebthom commented 2 years ago

After reading a bit more about github wikis and PRs I think the best is we add a docs folder directly in the main repo and then maybe setup a CI job that publishes the contents from there as wiki pages.

This also has the advantage if a developer clones the repo the documentation is included too.

jniggemann commented 2 years ago

Sounds good. I've no experience in github CI, does it require something special? If not, then we can just drop a couple of markdown files in a docs folder. I'd give them meaningful names and prefix them with a three-cipher-number, so one can also build a PDF with chapters from it, ex.:

010 - einleitung.md
020 - installation.md
030 - benutzung.md
040 - fehlersuche.md
xxx - entwicklung.md
yyy - mitarbeit.md

and so on...

sebthom commented 2 years ago

Hi,

Debian stable only has python 3.9, with a dep on >= 3.10 we exclude a whole lot of users. Which part of the code depends on 3.10 and can we change that to work with 3.9?

I created a Dockerfile and some instructions to build an image. Would be great if you could give it a try.

https://github.com/kleinanzeigen-bot/kleinanzeigen-bot#installation-using-docker

sebthom commented 2 years ago

Sounds good. I've no experience in github CI, does it require something special? If not, then we can just drop a couple of markdown files in a docs folder.

We can start by simply creating markdown files under a docs/ folder, e.g. like this:

docs/
  de/
     010 - einleitung.md
     020 - installation.md
     030 - benutzung.md
  en/
     010 - introduction.md
     020 - installation.md
     030 - usage.md
sebthom commented 2 years ago

@jniggemann I am now also building self-contained executables for linux, maybe this solves your issue with not having python 3.10 available on debian https://github.com/kleinanzeigen-bot/kleinanzeigen-bot/releases/download/latest/kleinanzeigen-bot-linux-amd64

sebthom commented 2 years ago

I am closing this as wontfix as now the option of using a docker image is available as well as the self-contained executables to run the bot.