Python pyrustic

Open-source Python projects categorized as pyrustic

Top 16 Python pyrustic Projects

  • jesth

    Human-readable versatile data format

    Project mention: Show HN: Jesth – Next-level human-readable data serialization format | news.ycombinator.com | 2023-05-18

    Jesth is like a broken INI file parser that can only split a document into sections (each section consists of a header and a body which is just a list of strings).

    Now, on top of that, I can write a hack to convert an arbitrary section to a dictionary data structure (provided the body of that section is written with a specific syntax designed for my hack).

    I made this hack and included it in the Jesth library, so people can use it, much like the Python standard library is just there to help people not waste time rewriting the same algorithms for common tasks.

    Jesth would be like JSON which is only about data. CUE, Dhall and Jsonnet jump on top of JSON to add some cool stuff.

    I used Jesth for example to design a docstring markup language [1], as well as a scripting language [2].

    I will soon publish a simple data validation mechanism for Jesth dict-sections (sections intended to be converted into a dictionary data structure). It might inspire people to create a more complex data validation or data constraint language on top of Jesth. This could be more readable than what is done elsewhere.

    [1] https://github.com/pyrustic/jesth/tree/master/docs/modules

    [2] https://github.com/pyrustic/backstage

  • pyrustic

    Collection of lightweight Python projects that share the same policy

    Project mention: Show HN: Braq – The most obvious way to section a document | news.ycombinator.com | 2024-01-05

    Note that the above docstring format exists and the documentation generator that consumes it is not public. This docstring format is visible in the source code of my projects (https://pyrustic.github.io).

    Braq is also used by Paradict for config files. This is what a config file in Paradict format might look like:

      [user]

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • shared

    Triptych for data exchange and persistence

  • dresscode

    Dress up your code with a beautiful graphical user interface !

  • backstage

    Three-speed scripting language and task automation tool (by pyrustic)

    Project mention: Show HN: Paradict – Streamable multi-format serialization with schema | news.ycombinator.com | 2023-12-18

    Although most languages allow Unicode characters in identifiers, for better code portability and readability, we agree to stick to ASCII characters. Since we're already sticking to ASCII characters in our source code, I think we'll be less 'astonished' to encounter similar rules for our configuration keys (especially when a key-value pair in the Paradict configuration file looks like an instruction for variable assignment).

    > I don't get the a-z benefit in the argument case - the user must type "arg1" precisely for the argument names to match...

    Absolutely ! The user must type "arg1" precisely because this is part of the implicit agreement between the user and the system. If the user forgets to type "arg1", the default value will be taken into account. If the user adds an additional unexpected key (a typo for example), it will be stored in "kwargs" and then ignored or used to warn the user.

    I plan to build two flagship projects to leverage Paradict binary and textual formats: a lightweight database and an automation tool. The automation tool will consume a configuration file a bit like another project of mine does (https://github.com/pyrustic/backstage).

    And this is where I join you. I think we'll both agree that since a shell command is already likely to have quotes around some of its arguments, it's very annoying to put extra quotes around it. So I'm thinking of introducing a Command data type:

      # typing 'start' in the command line will run

  • hooking

    Generic dual-paradigm hooking mechanism

  • litemark

    Lightweight Markdown dialect for Python desktop apps

    Project mention: Show HN: Exn – Write and render rich, scriptable, and interactive notes | news.ycombinator.com | 2023-02-26

    Hi HN !

    I'm Alex, a tech enthusiast. I'm excited to show you Exonote [1] and Exn [2], two projects I'm working on.

    Years ago I crafted Litemark [3] and Codegame [4], two projects for creating codegames, which are programming puzzles with a backstory. A codegame is made up of levels stored in plain old text files as prose written with Litemark, a markup language inspired by Markdown [5]. The player would open the Codegame app to access the first level of the game, read the prose, and then submit Python code to solve the puzzle. The submitted code is evaluated by the Codegame app, then the return compared to the expected result previously defined by the author for this level. A correct answer would unlock the next level.

    The idea behind Litemark and Codegame has evolved to embrace more possibilities, leading to the creation of Exonote and Exn which are no longer limited to "programming puzzles with a backstory".

    Exonote is a Markdown-inspired markup language for writing rich, scriptable, and interactive notes. An eponymous Python package is available on PyPI to serve as the reference library. The lowercase word 'exonote' could be used as a common noun for a document written with this markup language.

    This markup language makes it possible to add interactivity to notes by embedding GUI programs written with Tkinter [6]. Additionally, all or part of an exonote can be arbitrarily generated using custom Python scripts.

    On top of Exonote, with Tkinter I built Exn, a lightweight Python desktop application to browse a dossier of exonotes. A dossier is a directory that contains plain old text files with the ".exn" extension (exonotes), assets (images for examples), and Python source code.

    Exn's graphical user interface is a metaphor for a book whose pages are exonotes. Thus, the left and right arrow keys allow the reader to navigate from one page to another. The order of the pages is determined by an index file which can be generated automatically from the command line. This file contains the list of exonotes (ordered by their creation timestamp), their titles, and their tags.

    Exn also has a built-in search engine that supports regular expressions [7], a Table of Contents (ToC) builder, a 'switcher' (Ctrl+Tab) and other cool stuff.

    By expanding the original Litemark/Codegame idea, I unwittingly introduced a security risk. Suppose Bob doesn't have a personal website but has a GitHub repository that he uses as the public dossier for his exonotes. Alice is a tech savvy who knows what exonotes are and would love to explore the contents of the dossier with Exn. But she worries about the security risk of running untrusted code.

    To solve this problem without going on an endless sandbox over-engineering journey, I added to Exn two command line options to browse a folder with low and high restriction. Low restriction mode blocks the execution of embedded programs while high restriction mode not only does the same but also blocks executable links (preventing the user from inadvertently running code by clicking on an executable link).

    There is more to say about this (double) project, such as the Viewer API to manipulate the live representation of an exonote from a Python script.

    This project is functional, still a work in progress with precarious documentation. I'm planning to add a nice plugin mechanism (at the moment it's only possible to change colors and font size of elements) so people can customize Exn (themes, et cetera) or add new functions.

    A demo [8] is available to play around with and there is also a "Why use this project" section in the README which contains some interesting stuff not covered in this post.

    I would like to know what you think [9] of Exonote and Exn. Your questions, criticisms, and suggestions are welcome !

    Postscript: I found by serendipity that the third most popular post on HN (Mechanical Watch by Bartosz Ciechanowski) [10] looks like what I thought was a cool example of what can be done with Exonote/Exn. I had imagined a bike enthusiast working on a prototype on the weekends, taking notes, inserting relevant hyperlinks and images, building interactive 3D models of different parts of the bike and embedding them into the notes, et cetera. It would be a dossier of exonotes describing from scratch how the bike was built, with an astonishing level of detail. This person could keep this dossier private forever or publish it online. Once released, depending on the dossier's license, it can evolve much like open source software.

    [1] https://github.com/pyrustic/exonote

    [2] https://github.com/pyrustic/exn

    [3] https://github.com/pyrustic/litemark

    [4] https://github.com/pyrustic/codegame

    [5] https://en.wikipedia.org/wiki/Markdown

    [6] https://en.wikipedia.org/wiki/Tkinter

    [7] https://en.wikipedia.org/wiki/Regular_expression

    [8] https://github.com/pyrustic/exn#demo

    [9] http://sl4.org/crocker.html

    [10] https://news.ycombinator.com/item?id=31261533

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • exn

    Write and render rich, scriptable, and interactive notes

    Project mention: Show HN: Exn – Write and render rich, scriptable, and interactive notes | news.ycombinator.com | 2023-02-26

    Hi HN !

    I'm Alex, a tech enthusiast. I'm excited to show you Exonote [1] and Exn [2], two projects I'm working on.

    Years ago I crafted Litemark [3] and Codegame [4], two projects for creating codegames, which are programming puzzles with a backstory. A codegame is made up of levels stored in plain old text files as prose written with Litemark, a markup language inspired by Markdown [5]. The player would open the Codegame app to access the first level of the game, read the prose, and then submit Python code to solve the puzzle. The submitted code is evaluated by the Codegame app, then the return compared to the expected result previously defined by the author for this level. A correct answer would unlock the next level.

    The idea behind Litemark and Codegame has evolved to embrace more possibilities, leading to the creation of Exonote and Exn which are no longer limited to "programming puzzles with a backstory".

    Exonote is a Markdown-inspired markup language for writing rich, scriptable, and interactive notes. An eponymous Python package is available on PyPI to serve as the reference library. The lowercase word 'exonote' could be used as a common noun for a document written with this markup language.

    This markup language makes it possible to add interactivity to notes by embedding GUI programs written with Tkinter [6]. Additionally, all or part of an exonote can be arbitrarily generated using custom Python scripts.

    On top of Exonote, with Tkinter I built Exn, a lightweight Python desktop application to browse a dossier of exonotes. A dossier is a directory that contains plain old text files with the ".exn" extension (exonotes), assets (images for examples), and Python source code.

    Exn's graphical user interface is a metaphor for a book whose pages are exonotes. Thus, the left and right arrow keys allow the reader to navigate from one page to another. The order of the pages is determined by an index file which can be generated automatically from the command line. This file contains the list of exonotes (ordered by their creation timestamp), their titles, and their tags.

    Exn also has a built-in search engine that supports regular expressions [7], a Table of Contents (ToC) builder, a 'switcher' (Ctrl+Tab) and other cool stuff.

    By expanding the original Litemark/Codegame idea, I unwittingly introduced a security risk. Suppose Bob doesn't have a personal website but has a GitHub repository that he uses as the public dossier for his exonotes. Alice is a tech savvy who knows what exonotes are and would love to explore the contents of the dossier with Exn. But she worries about the security risk of running untrusted code.

    To solve this problem without going on an endless sandbox over-engineering journey, I added to Exn two command line options to browse a folder with low and high restriction. Low restriction mode blocks the execution of embedded programs while high restriction mode not only does the same but also blocks executable links (preventing the user from inadvertently running code by clicking on an executable link).

    There is more to say about this (double) project, such as the Viewer API to manipulate the live representation of an exonote from a Python script.

    This project is functional, still a work in progress with precarious documentation. I'm planning to add a nice plugin mechanism (at the moment it's only possible to change colors and font size of elements) so people can customize Exn (themes, et cetera) or add new functions.

    A demo [8] is available to play around with and there is also a "Why use this project" section in the README which contains some interesting stuff not covered in this post.

    I would like to know what you think [9] of Exonote and Exn. Your questions, criticisms, and suggestions are welcome !

    Postscript: I found by serendipity that the third most popular post on HN (Mechanical Watch by Bartosz Ciechanowski) [10] looks like what I thought was a cool example of what can be done with Exonote/Exn. I had imagined a bike enthusiast working on a prototype on the weekends, taking notes, inserting relevant hyperlinks and images, building interactive 3D models of different parts of the bike and embedding them into the notes, et cetera. It would be a dossier of exonotes describing from scratch how the bike was built, with an astonishing level of detail. This person could keep this dossier private forever or publish it online. Once released, depending on the dossier's license, it can evolve much like open source software.

    [1] https://github.com/pyrustic/exonote

    [2] https://github.com/pyrustic/exn

    [3] https://github.com/pyrustic/litemark

    [4] https://github.com/pyrustic/codegame

    [5] https://en.wikipedia.org/wiki/Markdown

    [6] https://en.wikipedia.org/wiki/Tkinter

    [7] https://en.wikipedia.org/wiki/Regular_expression

    [8] https://github.com/pyrustic/exn#demo

    [9] http://sl4.org/crocker.html

    [10] https://news.ycombinator.com/item?id=31261533

  • gaspium

    Framework to build Python apps with the GASP metaphor

  • tk-cyberpunk-theme

    The default dark theme for Pyrustic Framework

  • suggestion

    Democratizing auto-complete(suggest) for Python desktop applications

  • hubstore

    Distribute, promote, discover, install, and run Python desktop applications

  • threadom

    Tkinter-compatible multithreading

  • codegame

    Python desktop application to create, distribute, discover, and run codegames

    Project mention: Show HN: Exn – Write and render rich, scriptable, and interactive notes | news.ycombinator.com | 2023-02-26

    Hi HN !

    I'm Alex, a tech enthusiast. I'm excited to show you Exonote [1] and Exn [2], two projects I'm working on.

    Years ago I crafted Litemark [3] and Codegame [4], two projects for creating codegames, which are programming puzzles with a backstory. A codegame is made up of levels stored in plain old text files as prose written with Litemark, a markup language inspired by Markdown [5]. The player would open the Codegame app to access the first level of the game, read the prose, and then submit Python code to solve the puzzle. The submitted code is evaluated by the Codegame app, then the return compared to the expected result previously defined by the author for this level. A correct answer would unlock the next level.

    The idea behind Litemark and Codegame has evolved to embrace more possibilities, leading to the creation of Exonote and Exn which are no longer limited to "programming puzzles with a backstory".

    Exonote is a Markdown-inspired markup language for writing rich, scriptable, and interactive notes. An eponymous Python package is available on PyPI to serve as the reference library. The lowercase word 'exonote' could be used as a common noun for a document written with this markup language.

    This markup language makes it possible to add interactivity to notes by embedding GUI programs written with Tkinter [6]. Additionally, all or part of an exonote can be arbitrarily generated using custom Python scripts.

    On top of Exonote, with Tkinter I built Exn, a lightweight Python desktop application to browse a dossier of exonotes. A dossier is a directory that contains plain old text files with the ".exn" extension (exonotes), assets (images for examples), and Python source code.

    Exn's graphical user interface is a metaphor for a book whose pages are exonotes. Thus, the left and right arrow keys allow the reader to navigate from one page to another. The order of the pages is determined by an index file which can be generated automatically from the command line. This file contains the list of exonotes (ordered by their creation timestamp), their titles, and their tags.

    Exn also has a built-in search engine that supports regular expressions [7], a Table of Contents (ToC) builder, a 'switcher' (Ctrl+Tab) and other cool stuff.

    By expanding the original Litemark/Codegame idea, I unwittingly introduced a security risk. Suppose Bob doesn't have a personal website but has a GitHub repository that he uses as the public dossier for his exonotes. Alice is a tech savvy who knows what exonotes are and would love to explore the contents of the dossier with Exn. But she worries about the security risk of running untrusted code.

    To solve this problem without going on an endless sandbox over-engineering journey, I added to Exn two command line options to browse a folder with low and high restriction. Low restriction mode blocks the execution of embedded programs while high restriction mode not only does the same but also blocks executable links (preventing the user from inadvertently running code by clicking on an executable link).

    There is more to say about this (double) project, such as the Viewer API to manipulate the live representation of an exonote from a Python script.

    This project is functional, still a work in progress with precarious documentation. I'm planning to add a nice plugin mechanism (at the moment it's only possible to change colors and font size of elements) so people can customize Exn (themes, et cetera) or add new functions.

    A demo [8] is available to play around with and there is also a "Why use this project" section in the README which contains some interesting stuff not covered in this post.

    I would like to know what you think [9] of Exonote and Exn. Your questions, criticisms, and suggestions are welcome !

    Postscript: I found by serendipity that the third most popular post on HN (Mechanical Watch by Bartosz Ciechanowski) [10] looks like what I thought was a cool example of what can be done with Exonote/Exn. I had imagined a bike enthusiast working on a prototype on the weekends, taking notes, inserting relevant hyperlinks and images, building interactive 3D models of different parts of the bike and embedding them into the notes, et cetera. It would be a dossier of exonotes describing from scratch how the bike was built, with an astonishing level of detail. This person could keep this dossier private forever or publish it online. Once released, depending on the dossier's license, it can evolve much like open source software.

    [1] https://github.com/pyrustic/exonote

    [2] https://github.com/pyrustic/exn

    [3] https://github.com/pyrustic/litemark

    [4] https://github.com/pyrustic/codegame

    [5] https://en.wikipedia.org/wiki/Markdown

    [6] https://en.wikipedia.org/wiki/Tkinter

    [7] https://en.wikipedia.org/wiki/Regular_expression

    [8] https://github.com/pyrustic/exn#demo

    [9] http://sl4.org/crocker.html

    [10] https://news.ycombinator.com/item?id=31261533

  • kurl

    Konnection URL (by pyrustic)

  • viewable

    Class to implement a GUI view with lifecycle

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-01-05.

Python pyrustic related posts

Index

What are some of the best open-source pyrustic projects in Python? This list will help you:

Project Stars
1 jesth 190
2 pyrustic 92
3 shared 22
4 dresscode 20
5 backstage 16
6 hooking 14
7 litemark 13
8 exn 10
9 gaspium 8
10 tk-cyberpunk-theme 7
11 suggestion 7
12 hubstore 4
13 threadom 3
14 codegame 2
15 kurl 1
16 viewable 0
ChatGPT with full context of any GitHub repo.
Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.
app.getonboardai.com