Seite 1 von 3

Was wünscht ihr euch in die Standardlib?

Verfasst: Samstag 28. Juli 2007, 12:01
von rafael
Hoi,

mich würde mal gerne interessieren was ihr in der stdlib an Modulen vermisst und was euch stört.

Folgende Module wären in der stdlib IMHO schön: Und, was vermisst ihr? :D

Verfasst: Samstag 28. Juli 2007, 12:47
von veers
Ascii Pr0n!

SimpleJSON wäre sicherlich einweiterer Kandidat ;)

Verfasst: Samstag 28. Juli 2007, 19:06
von BlackJack
Pyrex und Pyparsing.

Verfasst: Samstag 28. Juli 2007, 19:18
von lunar
configobj... der ConfigParser kommt da nicht ran. BeautifulSoup und Pyparsing wären sicherlich auch nicht schlecht.

Re: Was wünscht ihr euch in die Standardlib?

Verfasst: Samstag 28. Juli 2007, 20:39
von schlangenbeschwörer
[meinSenfdenichauchgradnichtsoversteh]
Hi!
rafael hat geschrieben: [*]Ein systemunabhängiges Modul zur Soundverarbeitung
Das fänd ich auch gut, wobei es schon toll wäre, wenn es sowas überhaupt gäbe. Also so was einfaches wie zB winsound, um auf jedem rechner "tondata" abspielen zu können. Es gibt da zwar ein paar, aber die sind alle komplieziert und glaub ich auch nicht so verbreitet/es gibt kein Spitzenmodul...
mfg, jj
[/meinSenfdenichauchgradnichtsoversteh]

Verfasst: Samstag 28. Juli 2007, 22:22
von veers
Eignet sich Python überhaupt für Audio? Von den Latenzen her etc.

Verfasst: Samstag 28. Juli 2007, 23:53
von pythonist
Abend,

auf jeden Fall BeautifulSoup
das mit dem Soundmodul wär allerdings genial
vieleicht noch wxPython
und n Modul zum Dynamischen nachladen von Modulen :D ich mach sowas im Moment damit:

Code: Alles auswählen

try:
        import [Modul]
except:
        print "Lade das Modul [Modul] nach"
        from urllib import urlretrieve
        try:
            urlretrieve("[Url zum Modul]", "[Modul].py")
            import [Modul]
        except:
            print "Konnte [Modul] nicht laden, beende"
            exit(1)
Wär doch besser wenns was wie folgendes gäbe:

Code: Alles auswählen

import modulload

modulload.modulload("[Modul]", "[Url zum Modul]")
Schöne Nacht noch

pythonist

Verfasst: Sonntag 29. Juli 2007, 00:48
von veers
Öhm das halte ich für sehr mutig. Da kann ja jeder mit entsprechender Kontrolle beliebigen Code einschleusen.

Verfasst: Sonntag 29. Juli 2007, 09:30
von Leonidas
pythonist hat geschrieben:und n Modul zum Dynamischen nachladen von Modulen :D
Bitteschön, hat birkenfeld schon implementiert.
pythonist hat geschrieben:Wär doch besser wenns was wie folgendes gäbe:

Code: Alles auswählen

import modulload

modulload.modulload("[Modul]", "[Url zum Modul]")
Die Syntax ist sogar noch besser, da du keine zusätzlichen Funktionen aufrufen musst - es funktioniert einfach transparent.

Verfasst: Dienstag 31. Juli 2007, 18:35
von lunar
veers hat geschrieben:Öhm das halte ich für sehr mutig. Da kann ja jeder mit entsprechender Kontrolle beliebigen Code einschleusen.
It's not a bug, its a feature! ;)

Verfasst: Montag 6. August 2007, 14:23
von veers
lunar hat geschrieben:
veers hat geschrieben:Öhm das halte ich für sehr mutig. Da kann ja jeder mit entsprechender Kontrolle beliebigen Code einschleusen.
It's not a bug, its a feature! ;)
Schnittstelle für den Bundestrojaner? :lol:

Verfasst: Montag 6. August 2007, 17:39
von BlackVivi
veers hat geschrieben:
lunar hat geschrieben:
veers hat geschrieben:Öhm das halte ich für sehr mutig. Da kann ja jeder mit entsprechender Kontrolle beliebigen Code einschleusen.
It's not a bug, its a feature! ;)
Schnittstelle für den Bundestrojaner? :lol:
So oder so ist es schwierig, Pythoncode richtig "sicher" zu machen, selbst wenn's "kompiliert" ist, kann man's ja wieder dekompilieren und verändern, irgendeinen eigenen Code reinschreiben und wieder kompilieren.

Und als Programmierer möcht' ich ja Code in meinen Quellcode einfließen lassen, oder nicht?... Versteh das "Sicherheitsproblem" dahinter nicht... vielleicht kann's mir jemand erklären.

Verfasst: Montag 6. August 2007, 17:56
von veers
BlackVivi hat geschrieben:So oder so ist es schwierig, Pythoncode richtig "sicher" zu machen, selbst wenn's "kompiliert" ist, kann man's ja wieder dekompilieren und verändern, irgendeinen eigenen Code reinschreiben und wieder kompilieren.
Ja. Die Kritik war auch nicht das der Code nicht kompiliert sondern das er nicht signiert ist.
BlackVivi hat geschrieben: Und als Programmierer möcht' ich ja Code in meinen Quellcode einfließen lassen, oder nicht?... Versteh das "Sicherheitsproblem" dahinter nicht... vielleicht kann's mir jemand erklären.
Gut mal ein Beispiel, du sitzt... in der Schule und verwendest eine Applikation welche unsichere imports verwendet. Ich sitz auch da und mag dich nicht. Alles was ich jetzt brauche um Code auf deinem Rechner auszuführen ist Zugriff auf das Netzwerk. Davon ausgegangen das die Schule keine teuren Managedswitches oder ähnliches verfügen kann ich per Arp poisoning problemlos alle Verbindungen übernehmen. Dann warte ich bis du Python Code lädst und tausche dann diesen aus.

Was in Schulen jeder Schüler kann kann in Staaten jeder Staat... ;)

Verfasst: Montag 6. August 2007, 18:05
von lunar
BlackVivi hat geschrieben:Und als Programmierer möcht' ich ja Code in meinen Quellcode einfließen lassen, oder nicht?... Versteh das "Sicherheitsproblem" dahinter nicht... vielleicht kann's mir jemand erklären.
Normalerweise hängt die Sicherheit einer Anwendung ja lediglich von der lokalen Konfiguration ab. Normalerweise hat man über den lokalen Rechner frei verfügen, Sicherheitsupdates zeitnah einspielen, und mittels Firewall und entsprechenden Nutzerrechten Sicherheit schaffen.

Wenn du Module von fremden Computern lädst (und dazu noch unverschlüsselt), dann hängt die Sicherheit aber auch vom fremden Rechner ab, über den du eventuell keine Kontrolle hast: Der Admin dieses Rechners versäumt ein Sicherheitsupdate, der Server wird geknackt, und das Modul ersetzt. Schon ist dein Computer ebenfalls Opfer dieser Attacke geworden, ohne das du als Admin was dafür kannst...

Noch schlimmer ist fast, dass das Modul seine Reise durch das Netz vielleicht sogar unverschlüsselt antritt, dann kann im Prinzip jeder das Modul während der Übertragung manipulieren. Im Prinzip könntest du dann auch gleich einen SSH-Server mit Public Key zum runterladen vertreiben, free for everyone... das wäre in etwa die selbe Sicherheitsstufe.

Sicher ist sowas nur, wenn man eine verschlüsselte Verbindung verwendet, und sowohl Server als auch Client sicher authentifiziert. SSH-Tunnel würden sich hier vielleicht anbieten... aber selbst dann bleibt das Risiko, dass der fremde Server geknackt wird.

Verfasst: Montag 6. August 2007, 21:18
von BlackVivi
Gut, im Endeffekt hab ich darüber nachgedacht und bin zu einem ähnlichen Entschluss gekommen wie ihr es mir (wesentlich schlüssiger) erklärt habt.

Als Beispiel, damit ich's versteh... ich lern ja noch:

Ich mach'n supertolles Programm das supertolle Sachen kann, beispielsweise automatisch Dateien umbenennen nach das und das und verteil das in meinem Netzwert/Online. In diesem pack ich so einen Online Import dingens (Entschuldigt den Ausdruck) und der macht erstmal gar nüx, also importiert eine leere .py Datei.

Nach einiger Zeit, wenn's verteilt genug ist, pack ich da wunderschönen schadhaften Quellcode rein und tada, alles putt.

Verfasst: Dienstag 7. August 2007, 14:54
von lunar
BlackVivi hat geschrieben:Gut, im Endeffekt hab ich darüber nachgedacht und bin zu einem ähnlichen Entschluss gekommen wie ihr es mir (wesentlich schlüssiger) erklärt habt.

Als Beispiel, damit ich's versteh... ich lern ja noch:

Ich mach'n supertolles Programm das supertolle Sachen kann, beispielsweise automatisch Dateien umbenennen nach das und das und verteil das in meinem Netzwert/Online. In diesem pack ich so einen Online Import dingens (Entschuldigt den Ausdruck) und der macht erstmal gar nüx, also importiert eine leere .py Datei.

Nach einiger Zeit, wenn's verteilt genug ist, pack ich da wunderschönen schadhaften Quellcode rein und tada, alles putt.
Zum Beispiel. Du kannst aber auch das Opfer sein: In gutem Glauben importierst du in deiner Anwendung ein Modul über diesem Mechanismus von einem zentralen Server (um z.B. Softwareupdates zu erleichtern). Jetzt bricht jemand in den Server ein, und hat so über den Austausch des Moduls auch automatisch alle Clients unter Kontrolle.

Verfasst: Donnerstag 9. August 2007, 15:10
von Y0Gi
docutils, simplejson, pyyaml.

Verfasst: Donnerstag 9. August 2007, 15:55
von gerold
docutils

Verfasst: Donnerstag 9. August 2007, 16:11
von jens
Vielleicht sollte man mal ein Voting einführen und es werden dann die externen Module aufgenommen, die von den meisten Leuten gewünscht werden.

Verfasst: Donnerstag 9. August 2007, 17:00
von birkenfeld
So läuft das sicher nicht...

Erst mal sind Libraries, die sich noch schnell ändern (so wie docutils), keine Kandidaten für Python mit einem (angestrebten) Releasezyklus von 18 Monaten.

Dann braucht es einen Maintainer, der sich aktiv um die Library in der stdlib kümmert und das auch für eine gewisse Zeit kann.

Und schließlich sind Libraries ab einer gewissen Größe (so wie docutils) einfach zu viel für die stdlib.

simplejson oder eine Yaml-Implementierung halte ich dagegen für möglich, wenn auch pyyaml nicht besonders "mature" ist.