social.sokoll.com

Search

Items tagged with: Python

International Day of the Programmer Free Bundle | eBook Bundle | Fanatical


You get 3 free ebooks

#programming #java #python #ebook
 

Hosting for GNU mailman?


Hi, does anyone have experience with mailman and can recommend a hosting option for this? Is there any hosting that is cost-free? Mailman uses Python and i have been thinking of getting Python hosting anyway, so in that case, what can you recommend for general Python hosting? Grateful for help with this!

#python #mailman #hosting #web
 

Hosting for GNU mailman?


Hi, does anyone have experience with mailman and can recommend a hosting option for this? Is there any hosting that is cost-free? Mailman uses Python and i have been thinking of getting Python hosting anyway, so in that case, what can you recommend for general Python hosting? Grateful for help with this!

#python #mailman #hosting #web
 
#programming #simulation #scooter #python #freecad #Qt

The Chonk!

Just a quick announce. I finally have enough working stuff to open up The Chonk! scooter project as a pre-alpha demo-ish. Releasing under CC-BY-SA license. You can find it here:

https://gitlab.com/rahealy/chonkscooter

The Chonk! is a recumbent scooter/cycle with wide wheels and negative camber steering based on the python-lowracer bicycle. The design goals include adjustable dimensions to accommodate passengers up to 2 meters tall and weights up to 180 kg.

This project is intended as an educational endeavor to better learn about CAD, physics, engineering, and modeling physical systems.

It's not pretty, has GUI bugs, etc. but hopefully there's enough in the pre-alpha to get the gist across.

 
#programming #simulation #scooter #python #freecad #Qt

The Chonk!

Just a quick announce. I finally have enough working stuff to open up The Chonk! scooter project as a pre-alpha demo-ish. Releasing under CC-BY-SA license. You can find it here:

https://gitlab.com/rahealy/chonkscooter

The Chonk! is a recumbent scooter/cycle with wide wheels and negative camber steering based on the python-lowracer bicycle. The design goals include adjustable dimensions to accommodate passengers up to 2 meters tall and weights up to 180 kg.

This project is intended as an educational endeavor to better learn about CAD, physics, engineering, and modeling physical systems.

It's not pretty, has GUI bugs, etc. but hopefully there's enough in the pre-alpha to get the gist across.

 

Time spent on the moon


Bild/Foto

This post will illustrate two things: the amount of time astronauts have spent
on the moon, and how to process dates and times in Python.

I was curious how long each Apollo mission spent on the lunar surface, so I
looked up the timelines for each mission from NASA. Here's the timeline for
Apollo 11
, and
you can find the timelines for the other missions by making the obvious change
to the URL.

Here are the data on when each Apollo lunar module touched down and when it
ascended.
data = [ 
        ("Apollo 11", "1969-07-20 20:17:39", "1969-07-21 17:54:00"), 
        ("Apollo 12", "1969-11-19 06:54:36", "1969-11-20 14:25:47"), 
        ("Apollo 14", "1971-02-05 09:18:13", "1971-02-06 18:48:42"), 
        ("Apollo 15", "1971-07-30 22:16:31", "1971-08-02 17:11:23"), 
        ("Apollo 16", "1972-04-21 02:23:35", "1972-04-24 01:25:47"), 
        ("Apollo 17", "1972-12-11 19:54:58", "1972-12-14 22:54:37"), 
    ]

Here's a first pass at a program to parse the dates and times above and report
their differences.
from datetime import datetime, timedelta 

    def str_to_datetime(string): 
        return datetime.strptime(string, "%Y-%m-%d %H:%M:%S") 

    def diff(str1, str2): 
        return str_to_datetime(str1) - str_to_datetime(str2) 

    for (mission, touchdown, liftoff) in data: 
        print(f"{mission} {diff(liftoff, touchdown)}")

This works, but the formatting is unsatisfying.
Apollo 11 21:36:21 
    Apollo 12 1 day, 7:31:11 
    Apollo 14 1 day, 9:30:29 
    Apollo 15 2 days, 18:54:52 
    Apollo 16 2 days, 23:02:12 
    Apollo 17 3 days, 2:59:39

It would be easier to scan the output if it were all in hours. So we rewrite
our diff function as follows.
def diff(str1, str2): 
        delta = str_to_datetime(str1) - str_to_datetime(str2) 
        hours = delta.total_seconds() / 3600 
        return round(hours, 2)

Now the output is easier to read.
Apollo 11 21.61 
    Apollo 12 31.52 
    Apollo 14 33.51 
    Apollo 15 66.91 
    Apollo 16 71.04 
    Apollo 17 74.99

These durations fall into three clusters, corresponding to the Apollo mission
types G, H, and J. Apollo 11 was the only G-type mission. Apollo 12, 13, and
14 were H-type, intended to demonstrate a precise landing and explore the
lunar surface. (Apollo 13 had to loop around the moon without landing.) The
J-type missions were more extensive scientific missions. These missions
included a lunar rover ("moon buggy") to let the astronauts travel further
from the landing site. There were no I-type missions; the objectives of the
original I-type missions were merged into the J-type missions.

One note about the Python code: subtracting dates works unlike you'd expect,
depending on your expectations. The difference between an earlier date and a
later date is positive. You might expect that when speaking of dates
informally. But if you think of the difference in dates as subtracting the
number of seconds from some epoch to a that date, you'd expect the opposite
sign.

Incidentally, UNIX systems store times as seconds since 1970-01-01 00:00:00.
That means the first two lunar landings were at negative times and the last
four were at positive times. More on UNIX time
here.

Related posts


* The orbit that put men on the moon
* Kalman filters
* The weight of code
* Team Moon
* Duct tape on the moon

Bild/Foto

http://feedproxy.google.com/~r/TheEndeavour/~3/B8Stw7J3sQg/
#johndcook #Python #Science
Time spent on the moon

John D. Cook: Time spent on lunar surface | Python date time processing

 

Time spent on the moon


Bild/Foto

This post will illustrate two things: the amount of time astronauts have spent
on the moon, and how to process dates and times in Python.

I was curious how long each Apollo mission spent on the lunar surface, so I
looked up the timelines for each mission from NASA. Here's the timeline for
Apollo 11
, and
you can find the timelines for the other missions by making the obvious change
to the URL.

Here are the data on when each Apollo lunar module touched down and when it
ascended.
data = [ 
        ("Apollo 11", "1969-07-20 20:17:39", "1969-07-21 17:54:00"), 
        ("Apollo 12", "1969-11-19 06:54:36", "1969-11-20 14:25:47"), 
        ("Apollo 14", "1971-02-05 09:18:13", "1971-02-06 18:48:42"), 
        ("Apollo 15", "1971-07-30 22:16:31", "1971-08-02 17:11:23"), 
        ("Apollo 16", "1972-04-21 02:23:35", "1972-04-24 01:25:47"), 
        ("Apollo 17", "1972-12-11 19:54:58", "1972-12-14 22:54:37"), 
    ]

Here's a first pass at a program to parse the dates and times above and report
their differences.
from datetime import datetime, timedelta 

    def str_to_datetime(string): 
        return datetime.strptime(string, "%Y-%m-%d %H:%M:%S") 

    def diff(str1, str2): 
        return str_to_datetime(str1) - str_to_datetime(str2) 

    for (mission, touchdown, liftoff) in data: 
        print(f"{mission} {diff(liftoff, touchdown)}")

This works, but the formatting is unsatisfying.
Apollo 11 21:36:21 
    Apollo 12 1 day, 7:31:11 
    Apollo 14 1 day, 9:30:29 
    Apollo 15 2 days, 18:54:52 
    Apollo 16 2 days, 23:02:12 
    Apollo 17 3 days, 2:59:39

It would be easier to scan the output if it were all in hours. So we rewrite
our diff function as follows.
def diff(str1, str2): 
        delta = str_to_datetime(str1) - str_to_datetime(str2) 
        hours = delta.total_seconds() / 3600 
        return round(hours, 2)

Now the output is easier to read.
Apollo 11 21.61 
    Apollo 12 31.52 
    Apollo 14 33.51 
    Apollo 15 66.91 
    Apollo 16 71.04 
    Apollo 17 74.99

These durations fall into three clusters, corresponding to the Apollo mission
types G, H, and J. Apollo 11 was the only G-type mission. Apollo 12, 13, and
14 were H-type, intended to demonstrate a precise landing and explore the
lunar surface. (Apollo 13 had to loop around the moon without landing.) The
J-type missions were more extensive scientific missions. These missions
included a lunar rover ("moon buggy") to let the astronauts travel further
from the landing site. There were no I-type missions; the objectives of the
original I-type missions were merged into the J-type missions.

One note about the Python code: subtracting dates works unlike you'd expect,
depending on your expectations. The difference between an earlier date and a
later date is positive. You might expect that when speaking of dates
informally. But if you think of the difference in dates as subtracting the
number of seconds from some epoch to a that date, you'd expect the opposite
sign.

Incidentally, UNIX systems store times as seconds since 1970-01-01 00:00:00.
That means the first two lunar landings were at negative times and the last
four were at positive times. More on UNIX time
here.

Related posts


* The orbit that put men on the moon
* Kalman filters
* The weight of code
* Team Moon
* Duct tape on the moon

Bild/Foto

http://feedproxy.google.com/~r/TheEndeavour/~3/B8Stw7J3sQg/
#johndcook #Python #Science
Time spent on the moon

John D. Cook: Time spent on lunar surface | Python date time processing

 
Bild/Foto
Bild/Foto

Free and fun ONLINE computer workshop for children and teenagers - Sunday, August 1, 2020 - CoderDojo Brussels Yser


Bild/Foto

This Sunday, August 1, 2020, we are organizing our monthly workshop. Due to lockdown, we cannot organize our activities in face-to-face meetings. Therefore, we have organized ourselves to hold online sessions. And you know what else? You don't need to live in Brussels to participate.

Do you also want to be part of the adventure as a volunteer? We are always looking for motivated coaches. Please do not hesitate to contact us: bxl-yser@coderdojobelgium.be


#arduino #belgium #brussels #child #children #code #coderdojo #coderdojo-belgium #coderdojo belgium #coderdojobelgium #coding #computer-science #computer science #computerscience #css #css3 #development #electronic #electronic-circuit #electronic-equipment #electronic circuit #electronic equipment #electroniccircuit #electronicequipment #formation #godot #html #html5 #informatics #initiation #it-development #it development #itdevelopment #javascript #microbit #programming #python #robotics #scratch #technology #volunteer #web #webdevelopment #workshop #young #young-people #young-person #young people #young person #youngpeople #youngperson #younth #youthfulness
 
Bild/Foto
Bild/Foto

Free and fun ONLINE computer workshop for children and teenagers - Sunday, August 1, 2020 - CoderDojo Brussels Yser


Bild/Foto

This Sunday, August 1, 2020, we are organizing our monthly workshop. Due to lockdown, we cannot organize our activities in face-to-face meetings. Therefore, we have organized ourselves to hold online sessions. And you know what else? You don't need to live in Brussels to participate.

Do you also want to be part of the adventure as a volunteer? We are always looking for motivated coaches. Please do not hesitate to contact us: bxl-yser@coderdojobelgium.be


#arduino #belgium #brussels #child #children #code #coderdojo #coderdojo-belgium #coderdojo belgium #coderdojobelgium #coding #computer-science #computer science #computerscience #css #css3 #development #electronic #electronic-circuit #electronic-equipment #electronic circuit #electronic equipment #electroniccircuit #electronicequipment #formation #godot #html #html5 #informatics #initiation #it-development #it development #itdevelopment #javascript #microbit #programming #python #robotics #scratch #technology #volunteer #web #webdevelopment #workshop #young #young-people #young-person #young people #young person #youngpeople #youngperson #younth #youthfulness
 

qisit ist getting ready to it's first release/bald kann qisit released werden


#python #qt5 #pyqt5
mnowiasz/qisit
Qisit - a PyQT based recipe manager. Contribute to mnowiasz/qisit development by creating an account on GitHub.
Image/photo

Image/photo
 
[Blog]Spaß mit pymysql #Python #MariaDB (ein bißchen PEBKAC)
Spaß mit pymysql
 
Bild/Foto

Rackspace ending open source free hosting program, invocing for January 2020

Are you an open source maintainer? Have you used Rackspace's free hosting offer any time in the past 10 years? Rackspace has ended the program. People are getting invoices for Jan. Get off the servers and close your account or you will be charged full retail rate.
-- Van Lindberg, General Counsel, Python Software Foundation. @ Twitter

Offers and alternatives are mentioned in thread.

Reshares / links appreciated.

https://twitter.com/VanL/status/1225928953350774785

#Rackspace #ProjectHosting #OpenSource #FreeSoftware #Python #VanLindberg #PythonSoftwareFoundation
 
Bild/Foto

Rackspace ending open source free hosting program, invocing for January 2020

Are you an open source maintainer? Have you used Rackspace's free hosting offer any time in the past 10 years? Rackspace has ended the program. People are getting invoices for Jan. Get off the servers and close your account or you will be charged full retail rate.
-- Van Lindberg, General Counsel, Python Software Foundation. @ Twitter

Offers and alternatives are mentioned in thread.

Reshares / links appreciated.

https://twitter.com/VanL/status/1225928953350774785

#Rackspace #ProjectHosting #OpenSource #FreeSoftware #Python #VanLindberg #PythonSoftwareFoundation
 
#Python Module Dependency Trees
 
 
Two malicious #Python libraries caught stealing SSH and GPG keys
 

Circuit Simulation in Python


#softwarehacks #analogcircuit #circuit #integration #ltspice #modeling #numpy #programming #python #simulation #spice #hackaday
posted by pod_feeder_v2
Circuit Simulation in Python
 

Circuit Simulation in Python


#softwarehacks #analogcircuit #circuit #integration #ltspice #modeling #numpy #programming #python #simulation #spice #hackaday
posted by pod_feeder_v2
Circuit Simulation in Python
 
[Blog]Python: (Fast) alles ist eine Liste #Python #mysql #NULL
Python: (Fast) alles ist eine Liste
 
TIL: #Python Wenn ich aus einer #mysql Tabelle nur einen Wert abfrage, kommt der nicht als Liste, sondern als Einzelwert. Ich kann ihn trotzdem mit wert [0]abfragen – außer er ist NULL (Python: None); dann fällt Python auf die Nase.

Erinnert Ihr Euch an das Problem mit dem Zufallsfoto, bei dem seltsamerweise bei einer Abfrage ein Vergleich gegen None (Python) bzw. NULL (mysql) nicht funktionieren wollte? – Genau. Ich fragte in diesem Fall nur einen Wert aus der „Copyright“-Tabelle* von Piwigo ab, nicht wie sonst aus anderen Tabellen mehrere Werte gleichzeitig. In diesem Fall greift auch COALESCE im SELECT-Statement nicht – es kommt trotzdem ein None in Python an. Und wenn ich dann wert [0]vergleichen will, macht's Bumm. Lösung: Ich vergleiche wert, nicht wert[0], und – ja, das ist dann wohl so ein Fall von „kaum macht man's richtig, schon funktioniert's“ … m)
  • eigentlich geht's da um Lizenzen, nicht um ©, da haben die Piwigo-Leute wohl was falsch verstanden …
So, und jetzt bau ich das von der Development-Version in die produktive Version ein.
 
We hired one in our #Alameda office but are looking for another in either our #Minneapolis #Minnesota office or the #California office

Nice-to-haves*:
Knowledge of C/C++ and #Java and experience with #PHP/MySQL
Knowledge of Unix & #Linux (we previously supported #BSD, #Solaris, and perhaps some others, but just Linux now)
Basic networking experience
Experience with Perforce, #Git, or other version control software is desirable
Bachelor’s Degree in Computer Science or similar or relevant work experience
2 or more years’ experience providing technical support directly to enterprise customers

These are listed as requirements on the site, but they make zero since to me. There is literally no one on the Minneapolis team that knows C/C++. We do have a C/C++ API, so yes, it would be good if you knew that, but most people use our derived APIs (#Perl, #Python, .NET, #Ruby, #PHP, and maybe that is it). Java, like #C, is a native API.
Also, we do support #Windows and #Mac, so unclear why knowledge of that is not listed.

Experience in customer support or customer-facing role
Strong analytics and problem-solving skills
Strong debugging skills
Ability to work in a team environment and contribute ideas and improvements
Able to work well under pressure and prioritize accordingly
Responsibilities:
Represent Perforce as the first point of contact for customer’s technical requests.
Review and research customer issues to determine and provide the best resolution.
Develop and maintain technical expertise in assigned areas of product functionality and utilize it effectively to help customers.
Resolve database and performance issues.
Research, document, and escalate cases according to procedure.
Provide customer driven feedback to functional areas in order to influence process/product improvements.
Author technical documents on common issues and solutions in order to build the knowledge base.
Positive attitude - Support engineers are required to be respectful, fair, gracious, and knowledgeable.
Create and set up test environments to reproduce and resolve customer issues.
Recreate customer environments to reproduce issues and experiment with possible solutions.
 
We hired one in our #Alameda office but are looking for another in either our #Minneapolis #Minnesota office or the #California office

Nice-to-haves*:
Knowledge of C/C++ and #Java and experience with #PHP/MySQL
Knowledge of Unix & #Linux (we previously supported #BSD, #Solaris, and perhaps some others, but just Linux now)
Basic networking experience
Experience with Perforce, #Git, or other version control software is desirable
Bachelor’s Degree in Computer Science or similar or relevant work experience
2 or more years’ experience providing technical support directly to enterprise customers

These are listed as requirements on the site, but they make zero since to me. There is literally no one on the Minneapolis team that knows C/C++. We do have a C/C++ API, so yes, it would be good if you knew that, but most people use our derived APIs (#Perl, #Python, .NET, #Ruby, #PHP, and maybe that is it). Java, like #C, is a native API.
Also, we do support #Windows and #Mac, so unclear why knowledge of that is not listed.

Experience in customer support or customer-facing role
Strong analytics and problem-solving skills
Strong debugging skills
Ability to work in a team environment and contribute ideas and improvements
Able to work well under pressure and prioritize accordingly
Responsibilities:
Represent Perforce as the first point of contact for customer’s technical requests.
Review and research customer issues to determine and provide the best resolution.
Develop and maintain technical expertise in assigned areas of product functionality and utilize it effectively to help customers.
Resolve database and performance issues.
Research, document, and escalate cases according to procedure.
Provide customer driven feedback to functional areas in order to influence process/product improvements.
Author technical documents on common issues and solutions in order to build the knowledge base.
Positive attitude - Support engineers are required to be respectful, fair, gracious, and knowledgeable.
Create and set up test environments to reproduce and resolve customer issues.
Recreate customer environments to reproduce issues and experiment with possible solutions.
 
A 1000-line Python script outputs different results on different operating systems, tainting 100 published studies.
#chemistry #Python #glitch #operating #system #OS

A Code Glitch May Have Caused Errors In More Than 100 Published Studies - VICE



Scientists in Hawaiʻi have uncovered a glitch in a piece of code that could have yielded incorrect results in over 100 published studies that cited the original paper.

The glitch caused results of a common chemistry computation to vary depending on the operating system used, causing discrepancies among Mac, Windows, and Linux systems. The researchers published the revelation and a debugged version of the script, which amounts to roughly 1,000 lines of code, on Tuesday in the journal Organic Letters.

“This simple glitch in the original script calls into question the conclusions of a significant number of papers on a wide range of topics in a way that cannot be easily resolved from published information because the operating system is rarely mentioned,” the new paper reads. “Authors who used these scripts should certainly double-check their results and any relevant conclusions using the modified scripts in the [supplementary information].”
[…]
Luo’s results did not match up with the NMR values that Williams’ group had previously calculated, and according to Sun, when his students ran the code on their computers, they realized that different operating systems were producing different results. Sun then adjusted the code to fix the glitch, which had to do with how different operating systems sort files.
 
A 1000-line Python script outputs different results on different operating systems, tainting 100 published studies.
#chemistry #Python #glitch #operating #system #OS

A Code Glitch May Have Caused Errors In More Than 100 Published Studies - VICE



Scientists in Hawaiʻi have uncovered a glitch in a piece of code that could have yielded incorrect results in over 100 published studies that cited the original paper.

The glitch caused results of a common chemistry computation to vary depending on the operating system used, causing discrepancies among Mac, Windows, and Linux systems. The researchers published the revelation and a debugged version of the script, which amounts to roughly 1,000 lines of code, on Tuesday in the journal Organic Letters.

“This simple glitch in the original script calls into question the conclusions of a significant number of papers on a wide range of topics in a way that cannot be easily resolved from published information because the operating system is rarely mentioned,” the new paper reads. “Authors who used these scripts should certainly double-check their results and any relevant conclusions using the modified scripts in the [supplementary information].”
[…]
Luo’s results did not match up with the NMR values that Williams’ group had previously calculated, and according to Sun, when his students ran the code on their computers, they realized that different operating systems were producing different results. Sun then adjusted the code to fix the glitch, which had to do with how different operating systems sort files.
 
#AI #DeepLearning #vision #Python #Google #image #EXIF

The dumb reason your fancy Computer Vision app isn’t working: Exif Orientation



Exif metadata is not a native part of the Jpeg file format. It was an afterthought taken from the TIFF file format and tacked onto the Jpeg file format much later. This maintained backwards compatibility with old image viewers, but it meant that some programs never bothered to parse Exif data.

Most Python libraries for working with image data like numpy, scipy, TensorFlow, Keras, etc, think of themselves as scientific tools for serious people who work with generic arrays of data. They don’t concern themselves with consumer-level problems like automatic image rotation — even though basically every image in the world captured with a modern camera needs it.

This means that when you load an image with almost any Python library, you get the original, unrotated image data. And guess what happens when you try to feed a sideways or upside-down image into a face detection or object detection model? The detector fails because you gave it bad data.

You might think this problem is limited to Python scripts written by beginners and students, but that’s not the case! Even Google’s flagship Vision API demo doesn’t handle Exif orientation correctly
 
#AI #DeepLearning #vision #Python #Google #image #EXIF

The dumb reason your fancy Computer Vision app isn’t working: Exif Orientation



Exif metadata is not a native part of the Jpeg file format. It was an afterthought taken from the TIFF file format and tacked onto the Jpeg file format much later. This maintained backwards compatibility with old image viewers, but it meant that some programs never bothered to parse Exif data.

Most Python libraries for working with image data like numpy, scipy, TensorFlow, Keras, etc, think of themselves as scientific tools for serious people who work with generic arrays of data. They don’t concern themselves with consumer-level problems like automatic image rotation — even though basically every image in the world captured with a modern camera needs it.

This means that when you load an image with almost any Python library, you get the original, unrotated image data. And guess what happens when you try to feed a sideways or upside-down image into a face detection or object detection model? The detector fails because you gave it bad data.

You might think this problem is limited to Python scripts written by beginners and students, but that’s not the case! Even Google’s flagship Vision API demo doesn’t handle Exif orientation correctly
 
For real this time, get your butt off Python 2: No updates, no nothing after 1 January 2020 • The Register

Python 2 will be EOL at January, 1st 2020

#programming #python
 
Endlich mal wieder ein paar Löffel, und gleich ein Erfolgserlebnis. Meine statische Website baut jetzt mein #python Projekt htmlglue:
 

Who put Python in the Windows 10 May 2019 Update? | Python


That's actually pretty useful

#python #Windows10
Who put Python in the Windows 10 May 2019 Update?
 
 

Show HN: ZFS Implementation in Python


HN Discussion: https://news.ycombinator.com/item?id=19827336
Posted by alcari (karma: 687)
Post stats: Points: 115 - Comments: 17 - 2019-05-04T16:15:18Z

\#HackerNews #implementation #python #show #zfs
HackerNewsBot debug: Calculated post rank: 82 - Loop: 65 - Rank min: 80 - Author rank: 45
 

Show HN: ZFS Implementation in Python


HN Discussion: https://news.ycombinator.com/item?id=19827336
Posted by alcari (karma: 687)
Post stats: Points: 115 - Comments: 17 - 2019-05-04T16:15:18Z

\#HackerNews #implementation #python #show #zfs
HackerNewsBot debug: Calculated post rank: 82 - Loop: 65 - Rank min: 80 - Author rank: 45
 
Would you like to experiment with language development? Is there something you need to parse, but you can't find a suitable tool? Perhaps Yakety can help.

Yakety itself is a Python library for generating recursive descent parsers from EBNF grammars. Included with it is a wrapper tool (ykt), which will use a grammar file to parse stdin, and then emit a representation of the parse tree (either structured text or JSON) to stdout, allowing you to build and test parsers with minimal friction. Also included is a tool for converting the JSON parse tree to a form suitable for Graphviz, letting you create visualizations of the parser's output.

The code is based on that presented in the article Recursive Descent: The Next Iteration.

Enjoy, and I hope you find it useful.

#programming #python #linux
 
Would you like to experiment with language development? Is there something you need to parse, but you can't find a suitable tool? Perhaps Yakety can help.

Yakety itself is a Python library for generating recursive descent parsers from EBNF grammars. Included with it is a wrapper tool (ykt), which will use a grammar file to parse stdin, and then emit a representation of the parse tree (either structured text or JSON) to stdout, allowing you to build and test parsers with minimal friction. Also included is a tool for converting the JSON parse tree to a form suitable for Graphviz, letting you create visualizations of the parser's output.

The code is based on that presented in the article Recursive Descent: The Next Iteration.

Enjoy, and I hope you find it useful.

#programming #python #linux
 
Bild/Foto

How we made Monty Python’s Life of Brian

John Cleese had wanted to play Brian. Graham Chapman had been drinking quite a lot, and John thought we needed a safe pair of hands for the lead role. But Graham gave up drinking just before and was dry throughout. He had a kind of decency that anchored the whole film. He was also a qualified doctor, so he was very useful looking after cast and crew while we were shooting in Tunisia, with all the stomach upsets people had.
#Python #humour #Brian
 
Bild/Foto

How we made Monty Python’s Life of Brian

John Cleese had wanted to play Brian. Graham Chapman had been drinking quite a lot, and John thought we needed a safe pair of hands for the lead role. But Graham gave up drinking just before and was dry throughout. He had a kind of decency that anchored the whole film. He was also a qualified doctor, so he was very useful looking after cast and crew while we were shooting in Tunisia, with all the stomach upsets people had.
#Python #humour #Brian
 
Hey everyone, I’m #newhere. I’m interested in #bicycle, #environment, #esperanto, #python, and #science. I speak (in decreasing order of mastery) German, English, Esperanto, Italian.
 
Hey everyone, I’m #newhere. I’m interested in #bicycle, #environment, #esperanto, #python, and #science. I speak (in decreasing order of mastery) German, English, Esperanto, Italian.
 
Later posts Earlier posts