xmltodict
plumbum
Our great sponsors
xmltodict | plumbum | |
---|---|---|
7 | 5 | |
5,380 | 2,752 | |
- | - | |
0.6 | 7.2 | |
3 months ago | 3 months ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xmltodict
-
XML to CSV or JSON using Cloud Function
Your Cloud Function would be written in Node.js, Python, Go, Java, C#, Ruby, or PHP; pick the one you're most comfortable with. It would get the name and bucket of the newly uploaded XML file as an input parameter. It would then load the file and call a library that makes the conversion. Example libraries: xml-js (for Node), xmltodict (for Python).
-
Did I reinvent a wheel?
Go with xmltodict. Works pretty fine, and you just have to drop any key begining with @ or # (if there is not already an option for that).
-
Top python libraries/ frameworks that you suggest every one
Nope, sorry, it's just an XML generator. The Python stdlib offers https://docs.python.org/3/library/xml.etree.elementtree.html and PyPI offers https://github.com/martinblech/xmltodict for parsing, and you could write CSV with csvwriter or pandas.
- Dict or List to store table like data
-
Like JQ, but for HTML
xmlstarlet is really nothing like jq, as a language. But yes, I use it because it is the best commandline xml processor I'd found. That's the only similarity to jq.
Is this the yq? https://kislyuk.github.io/yq/ It does contain an 'xq', as a literal wrapper for jq, piping output into it after transcoding XML to JSON using xmltodict https://github.com/martinblech/xmltodict (which explodes xml into separate JSON data structures).
This is a bash one-liner! But TBF it really is a 'jq for xml'. I think it would be horrible for some things, but you could also do a lot of useful things painlessly.
- Parsing unknown XML file with Python?
-
I used raw data from my watch (and Python) to make a map of all the NH48 hikes from this year. I hiked Liberty and Flume before I got the watch in June, so I need to do those again! Color-coded by altitude.
Super-easy, take a look at xmltodict https://github.com/martinblech/xmltodict xmltodict.parse(xml_str) gets you a dictionary
plumbum
-
Diagram as Code
if you liked that, you'll love Plumbum[1] :)
[1] https://github.com/tomerfiliba/plumbum
-
Top python libraries/ frameworks that you suggest every one
plumbum
-
Declarative command line parser library [Heated Arguments]
I wonder if you included plumbum in your comparison. For some reason, my long time favorite module for this (and more) always gets overlooked.
-
NOT-fuzzy line pickers
You'll still have to juggle the input, but when using Python, plumbum offers a solid function for this: choose
-
Pyshell, A Linux Subprocess Module for Python
It's kinda a nice thing. And the few people that need something like this are already using https://xon.sh/ or https://plumbum.readthedocs.io/ or https://ipython.org/ . You can have a look at these projects though. See what works and doesn't to guide the goals of your own project.
What are some alternatives?
lxml - The lxml XML toolkit for Python
click - Python composable command line interface toolkit
untangle - Converts XML to Python objects
Python Fire - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
MarkupSafe - Safely add untrusted strings to HTML/XML markup.
asynccli - A CLI framework based on asyncio
pyquery - A jquery-like library for python
escape - Simple Terminal Styling for Python
xhtml2pdf - A library for converting HTML into PDFs using ReportLab
asciimatics - A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
xmldataset - xmldataset: xml parsing made easy 🗃️
colorama - Simple cross-platform colored terminal text in Python