Main repository for the Sphinx documentation builder

Overview

Sphinx

Package on PyPI Documentation Status Build Status (Travis CI) Build Status (AppVeyor) Build Status (CircleCI) Code Coverage Status (Codecov) BSD 3 Clause Open Source Helpers badge

Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources), written by Georg Brandl. It was originally created for the new Python documentation, and has excellent facilities for Python project documentation, but C/C++ is supported as well, and more languages are planned.

Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils.

Among its features are the following:

  • Output formats: HTML (including derivative formats such as HTML Help, Epub and Qt Help), plain text, manual pages and LaTeX or direct PDF output using rst2pdf
  • Extensive cross-references: semantic markup and automatic links for functions, classes, glossary terms and similar pieces of information
  • Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children
  • Automatic indices: general index as well as a module index
  • Code handling: automatic highlighting using the Pygments highlighter
  • Flexible HTML output using the Jinja 2 templating engine
  • Various extensions are available, e.g. for automatic testing of snippets and inclusion of appropriately formatted docstrings
  • Setuptools integration

For more information, refer to the the documentation.

Installation

Sphinx is published on PyPI and can be installed from there:

pip install -U sphinx

We also publish beta releases:

pip install -U --pre sphinx

If you wish to install Sphinx for development purposes, refer to the contributors guide.

Documentation

Documentation is available from sphinx-doc.org.

Get in touch

  • Report bugs, suggest features or view the source code on GitHub.
  • For less well defined questions or ideas, use the mailing list.

Please adhere to our code of conduct.

Testing

Continuous testing is provided by Travis (for unit tests and style checks on Linux), AppVeyor (for unit tests on Windows), and CircleCI (for large processes like TeX compilation).

For information on running tests locally, refer to the contributors guide.

Contributing

Refer to the contributors guide.

Release signatures

Releases are signed with following keys:

Comments
  • Add a

    Add a "guess" pseudo-language to the PygmentsBridge

    Consider adding a "guess" pseudo-language to the PygmentsBridge as a transitional aid for people converting large documents with mixed code literals.


    • Bitbucket: https://bitbucket.org/birkenfeld/sphinx/issue/15
    • Originally reported by: Georg Brandl
    • Originally created at: 2008-11-02T22:22:06.829
    type:enhancement 
    opened by shimizukawa 92
  • Create a ToC entry for every function, method, class, etc

    Create a ToC entry for every function, method, class, etc

    It would be useful to have an option that causes Sphinx to automatically create a TOC entry for every function, class, and method. (In the absence of this, tables of contents are of limited value).

    type:enhancement extensions:autodoc internals:toctree 
    opened by Phillip-M-Feldman 63
  • 4.0.0 release plan

    4.0.0 release plan

    According to our annual release cycle, this April is time for the major release. I think this schedule is good for the release. What do you think?

    • Apr 10th:
      • Beta release (feature freeze)
      • call for translation
      • Create a new branch: 4.x and 4.0.x
        • 4.x will be used for develop 4.1
        • 4.0.x will be used for develop 4.0.0 (feature freezed)
    • Apr 24th: final release

    Any comments?

    Note: issues marked as 4.0.0: https://github.com/sphinx-doc/sphinx/milestone/74

    type:task 
    opened by tk0miya 60
  • Latex output

    Latex output "too deeply nested"

    If Sphinx's LaTeX output gets too deeply-nested, I get the following error:

    [13] [14]
    Chapter 4.
    [15]
    
    ! LaTeX Error: Too deeply nested.
    

    I've found an item on the Docutils to-do list: http://docutils.sourceforge.net/docs/dev/todo.html indicating that this is something they're aware of, but have not yet fixed, but I'm wondering if this is something Sphinx can work around in the mean time.

    In particular, the LaTeX "enumitem" package: http://www.tex.ac.uk/CTAN/macros/latex/contrib/enumitem/ has recently added support for list environments of any depth. I was wondering if Sphinx could make use of this package to allow nesting of chapters and code blocks to a higher number of levels, because when you start using code blocks with several levels of indentation, the nesting gets deep quickly, and standard LaTeX maxes out somewhere around 5-6 levels.

    Could something like this work?


    • Bitbucket: https://bitbucket.org/birkenfeld/sphinx/issue/777
    • Originally reported by: tonycpsu
    • Originally created at: 2011-10-01T22:35:55.188
    type:bug builder:latex 
    opened by shimizukawa 48
  • Add contents entries for domain objects

    Add contents entries for domain objects

    Closes #6316, closes #10804

    Per a recent request on the CPython discord, this adds entries in the table of contents for domain objects (e.g. py:function, js:module, etc).

    It does not support objects from the C, C++, and RST domains, as well as the option, cmdoption, and envvar objects.

    A draft implementation by @agoose77 and @asmeurer was useful background, thank you both for this.

    Feature or Bugfix

    • Feature

    Relates

    • https://github.com/python/cpython/issues/83545

    Ping for feedback and review, from people who have commented on the linked issues/CPython Discord thread: @Phillip-M-Feldman @slateny @pradyunsg @CAM-Gerlach @tony @agoose77 @asmeurer

    A

    extensions:autodoc domain internals:toctree 
    opened by AA-Turner 45
  • Removing JavaScript Dependencies

    Removing JavaScript Dependencies

    Relates to https://github.com/sphinx-doc/sphinx/pull/10028. Sphinx plans to remove jQuery and underscore JS dependencies in version 6.0.0 (i.e., eventually, there is plenty of time). This will probably break many extensions and themes and we need to try and find at least the most important ones.

    TODOs:

    • [x] Remove 'internal' usage of dependencies: https://github.com/sphinx-doc/sphinx/pull/10028
    • [ ] Fix dependency usage of all extensions hosted by https://github.com/sphinx-doc and https://github.com/sphinx-contrib/ in some way (either refactoring or including dependencies, but ideally refactoring).
      • [ ] https://github.com/sphinx-doc/sphinxcontrib-websupport/blob/master/sphinxcontrib/websupport/files/websupport.js
      • [ ] https://github.com/sphinx-contrib/cheeseshop/blob/master/sphinxcontrib/cheeseshop.py
      • [ ] https://github.com/sphinx-contrib/images (uses Lightbox, which relies on jQuery)
    • [ ] Identify as many of the frequently used 3rd-party themes and extensions as possible and warn the maintainers.
      • [ ] https://github.com/readthedocs/sphinx_rtd_theme
      • [ ] https://github.com/ryan-roemer/sphinx-bootstrap-theme
      • [ ] https://github.com/readthedocs/sphinx-hoverxref
      • [ ] https://github.com/humitos/sphinx-version-warning
      • [ ] https://github.com/executablebooks/sphinx-thebe
      • [ ] https://github.com/useblocks/sphinx-needs
      • [ ] https://github.com/ulrobix/sphinxcontrib-contentui
      • [ ] https://github.com/schettino72/sphinx_press_theme
      • [ ] https://github.com/MrDogeBro/sphinx_rtd_dark_mode
      • [ ] https://github.com/jurasofish/sphinx-toggleprompt
      • [ ] https://github.com/BlueBrain/sphinx-bluebrain-theme
      • [ ] https://github.com/collective/sphinxcontrib-httpexample
      • [ ] https://github.com/jucacrispim/sphinx_pdj_theme
      • [ ] https://github.com/wagtail/sphinx_wagtail_theme
      • [ ] https://github.com/LinxiFan/Sphinx-theme/
      • [ ] https://github.com/typlog/sphinx-typlog-theme
      • [ ] https://github.com/useblocks/sphinx-data-viewer
      • [ ] https://github.com/ionelmc/sphinx-py3doc-enhanced-theme
    • [x] Remove dependencies
    type:enhancement html theme 
    opened by TimKam 42
  • New Sphinx tutorial, part III

    New Sphinx tutorial, part III

    Feature or Bugfix

    • Feature

    Purpose

    This is a continuation of the work we did in #9276 and #9355. It expands some sections already started in the first part and adds some new ones, as originally proposed in #9165:

    1. Describing code in Sphinx
    2. Autogenerating documentation from code in Sphinx

    In #9424 I started writing a section on intersphinx, but after some discussion I decided to postpone it a bit.

    Also, as suggested by @tk0miya in #9424, this splits the tutorial into several documents, to make it more amenable.

    Rendered version: https://sphinx--9534.org.readthedocs.build/en/9534/tutorial/index.html

    cc @ericholscher

    Relates

    • #9165
    • #9276
    • #9355
    • #9424
    type:docs type:proposal 
    opened by astrojuanlu 41
  • U+2212 MINUS SIGN breaking PDF generation

    U+2212 MINUS SIGN breaking PDF generation

    Subject: When using U+2212 to denote a negative integer, sphinx can no longer build PDF.

    Problem

    Unicode character U+2212 in rst files breaks PDF generation.

    Procedure to reproduce the problem

    $ sphinx-quickstart
    […]
    $ cd in_the_directory
    $ printf "\n\nHello −4 world." >> index.rst
    $ make latexpdf
    

    Error logs / results

    […]
    ! Package inputenc Error: Unicode char − (U+2212)
    (inputenc)                not set up for use with LaTeX.
    
    See the inputenc package documentation for explanation.
    Type  H <return>  for immediate help.
     ...                                              
                                                      
    l.86 Hello −
                  4 world.
    ? 
    (./minus.ind) [1] (./minus.aux) ){/usr/share/texlive/texmf-dist/fonts/enc/dvips
    /base/8r.enc}</usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8a.pfb
    ></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvbo8a.pfb></usr/shar
    e/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texlive/texmf
    -dist/fonts/type1/urw/times/utmr8a.pfb>
    Output written on minus.pdf (5 pages, 40041 bytes).
    Transcript written on minus.log.
    Latexmk: Index file 'minus.idx' was written
    Latexmk: Log file says output to 'minus.pdf'
    Latexmk: Errors, so I did not complete making targets
    Collected error summary (may duplicate other messages):
      pdflatex: Command for 'pdflatex' gave return code 256
    Latexmk: Use the -f option to force complete processing,
     unless error was exceeding maximum runs of latex/pdflatex.
    Makefile:33: recipe for target 'minus.pdf' failed
    make[1]: *** [minus.pdf] Error 12
    make[1]: Leaving directory '/home/mdk/Downloads/test-minus/_build/latex'
    Makefile:20: recipe for target 'latexpdf' failed
    make: *** [latexpdf] Error 2
    

    Expected results

    I'd just expect my minus sign to be correctly rendered in a PDF file.

    Environment info

    • OS: Debian sid
    • Python version: 3.6.2
    • Sphinx version: 1.6.4
    • texlive 2017.20171004-1

    Looks like there a lots of problems with some unicode characters: https://tex.stackexchange.com/search?q=inputenc+2212

    Maybe we should just add another DeclareUnicodeCharacter in utf8extra in latex.py?

    type:question builder:latex 
    opened by JulienPalard 41
  • [DX][UX] A ritual sacrifice necessary to make a directive parse RST

    [DX][UX] A ritual sacrifice necessary to make a directive parse RST

    clickbait! I hope this title catches some attention :)

    But, really... I want to raise a concern about the developer experience of some APIs, in particular, those that are supposed to help build Sphinx extensions.

    I've built a few extensions in the past and regularly hit some roadblocks along the way. Some of the walls I hit made me give up and retry in half a year or more in order to successfully fight the corresponding APIs. I must admit that part of the problems come from parts of docutils leaking into the Sphinx's public interfaces and forcing the developers to read the source of both projects to figure things out because of the poor docs.

    This is how it feels right now: XKCD comic: No idea how to use Git

    Some of the problems can be hotfixed short-term by improving the docs and adding more illustrative examples. But the better long-term solution would be implementing better, ~user~developer-friendly interfaces.

    Let me tell you about my latest experience. The recent (re-)discovery is sphinx.util.nodes.nested_parse_with_titles(). The doc promises a painless way to take some RST and turn in into docutils nodes that can be returned from a directive. I think I tried it about a year ago and got away just constructing some nodes manually. This time, when I needed to do something similar but more complex, I was smarter and went to read the source of the sphinx's include directive that turns out to wrap docutils' include directive and ended up seeing that it uses state_machine.insert_input() and knowing that Directive has it exposed on the object I just went ahead and used it:

    self.state_machine.insert_input(
        statemachine.string2lines(rst_source),
        '[my custom included source]',
    )
    return []
    

    Later, @ewjoachim figured out how to actually make sphinx.util.nodes.nested_parse_with_titles() work (https://github.com/ansible/pylibssh/pull/119/files#diff-93857a1c2f2d5628aadfb443d70a87eeR111-R121). But this is admittedly a less maintainable/readable approach that is far from being obvious even to experienced devs (https://twitter.com/Ewjoachim/status/1289323468270395393).

    I'm not going to add extra examples, because I don't remember what other problems were exactly, I only have this feeling left that we can do better!

    So in order for this to be not another pointless rant, let me suggest how this specific interface could be improved.

    First of all, there should be function that just takes input and just returns an output. That's it! No side-effects. Passing a variable to a function only for it to be mutated by reference is an ancient technique coming from C projects. They simply didn't have much flexibility: the return value was usually some return code of a flag representing the success or the failure of an invocation. In Python, we can do better, we raise exceptions for problems and just return the results, it's that simple.

    Second, creating a temporary fake node only to discard it two lines later, extracting the children messes up the readability too. It should be created if the need to use it arises, not just because some API cannot return a list...

    Finally, here's an API I'm having in my mind. How about extending Directive with this method:

    def convert_rst_to_nodes(self, rst_source: str) -> List[nodes.Node]:
        """Turn an RST string into a node that can be used in the document."""
        node = nodes.Element()
        node.document = self.state.document
        nested_parse_with_titles(
            state=self.state,
            content=statemachine.ViewList(
                statemachine.string2lines(rst_source),
                source='[custom RST input]',
            ),
            node=node,
        )
        return node.children
    

    And then, it could be used as

    def run(self) -> List[nodes.Node]:
        rst_source = ...
        return self.convert_rst_to_nodes(rst_source)
    
    type:question closed:docutils 
    opened by webknjaz 39
  • Sphinx-1.6 release plan

    Sphinx-1.6 release plan

    Hi maintainers,

    According to our time based release policy, I'd propose you to release next major version in this June. What do you think about the schedule? I know there are still many issues for the release. So I might reconsider the schedule or the milestone of these issues. https://github.com/sphinx-doc/sphinx/milestone/23

    Personally, I feel the master branch has grown so much since last major release. We added many features and improved codebase much (We have many refactored and deprecated our codes!). So it would be nice to go forward with postponing some issues to next major release.

    In addition, I'd like to propose not to release alpha packages from our process since this release. At last two major releases, we had provided alpha packages to request for comments for users and developers on early stage of our development. But I feel that is not go well. Certainly, we'd received some issues for the release. But most of them were posted after final release. I think it would go well without alpha version because we still have beta release. The alpha release also brings prolongation of release process to us. For example, Sphinx-1.5 was released with following schedule:

    • 1.5a1: 2016/9/21
    • 1.5a2: 2016/10/17
    • 1.5b1: 2016/11/6
    • 1.5 (final): 2016/12/5 About three months were taken for 1.5 release (At 1.4, it took about 2 months). So I think alpha release is not needed for us.

    Please let me know your opinion.

    type:task 
    opened by tk0miya 39
  • The configuration format for MathJax v3 is changed

    The configuration format for MathJax v3 is changed

    Describe the bug Pull request #7961 introduced MathJax v3, to be released in the next major version of Sphinx. However, there is not yet support for the new configuration format for MathJax. In particular, MathJax v3 no longer uses the nested MathJax.Hub.Config object, preferring instead to use simply MathJax.

    To Reproduce

    Include some mathjax_config values in conf.py and set mathjax_path to point to MathJax v3 (or use the main branch).

    Following the conversion guide here: https://mathjax.github.io/MathJax-demos-web/convert-configuration/convert-configuration.html

    This generated configuration using Sphinx 3 and MathJax v2:

    MathJax.Hub.Config({
    
      "TeX": {"Macros": {"vector": ["\\vec{#1}", 1]}}, "tex2jax": {"inlineMath": [["\\(", "\\)"]], "displayMath": [["\\[", "\\]"]], "processRefs": false, "processEnvironments": false}
    
    });
    

    with this config parameter: MathJax.js?config=TeX-AMS-MML_HTMLorMML results in this new MathJax v3 configuration:

    <script>
    window.MathJax = {
      tex: {
        macros: {
          vector: ["\\vec{#1}", 1]
        },
        inlineMath: [["\\(", "\\)"]],
        displayMath: [["\\[", "\\]"]],
        processRefs: false,
        processEnvironments: false,
        autoload: {
          color: [],
          colorV2: ['color']
        },
        packages: {'[+]': ['noerrors']}
      },
      options: {
        ignoreHtmlClass: 'tex2jax_ignore',
        processHtmlClass: 'tex2jax_process'
      },
      loader: {
        load: ['[tex]/noerrors']
      }
    };
    </script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-mml-chtml.js" id="MathJax-script"></script>
    

    The last line there is handled by the mathjax_path, but the rest of it can't be handled by the current mathjax_config option, which assumes that MathJax.Hub.Config should be present. See also: https://www.sphinx-doc.org/en/master/usage/extensions/math.html#confval-mathjax_config

    Expected behavior MathJax is configured properly.

    Environment info

    • OS: Tested on macOS, presumably any
    • Python version: Tested on 3.8, presumably any
    • Sphinx version: Currently, only master by default, but any version is mathjax_path is set to point to v3.
    • Sphinx extensions: sphinx.ext.mathjax
    • Extra tools: Tested on Firefox, presumably any browser

    Additional context

    • Found in the context of building a Jupyter Book: https://github.com/executablebooks/jupyter-book/issues/963
    type:enhancement markup extensions 
    opened by bryanwweber 36
  • Can't change sphinxnote to use sphinxheavybox starting with 5.1.0

    Can't change sphinxnote to use sphinxheavybox starting with 5.1.0

    Describe the bug

    I used to redefine the "light" box environments to use heavybox instead:

    \renewenvironment{sphinxnote}[1] {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}}
    \renewenvironment{sphinxhint}[1] {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}}
    \renewenvironment{sphinximportant}[1] {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}}
    \renewenvironment{sphinxtip}[1] {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}}
    

    However, starting with 5.1.0 I get the following error(s) when running LaTeX on the generated code:

    Chapter 1.
    (/usr/local/texlive/2022/texmf-dist/tex/latex/base/ts1cmss.fd)
    ! Missing number, treated as zero.
    <to be read again>
                       \[email protected]@[email protected]
    l.181 \begin{sphinxadmonition}{note}{Note:}
    

    with previous versions this worked fine and as intended. I haven't been able to find a workaround but I suppose this might be related to the introduction of the new configuration attributes in #10648 which doesn't exist for notes?

    How to Reproduce

    Add this to your conf.py and try to render a document which uses notes:

    latex_elements = {
      'preamble':
          r'''\renewenvironment{sphinxnote}[1] {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}}
          '''
    }
    
    ### Environment Information
    
    ```text
    Platform:              darwin; (macOS-10.16-x86_64-i386-64bit)
    Python version:        3.9.15 (main, Oct 11 2022, 22:25:13)
    [Clang 12.0.0 (clang-1200.0.32.29)])
    Python implementation: CPython
    Sphinx version:        6.0.0
    Docutils version:      0.18.1
    Jinja2 version:        3.1.2
    

    Sphinx extensions

    No response

    Additional context

    5.0.2 works just fine, every later version I tried after that is broken.

    opened by therealprof 0
  • Error: Invalid CSS selector in bizstyle.js

    Error: Invalid CSS selector in bizstyle.js

    Describe the bug

    Google Chrome 108.0.5359.124:

    Uncaught DOMException: Failed to execute 'querySelectorAll' on 'Document': 'div.related:first ul li:not(.right) a' is not a valid selector.
        at HTMLDocument.initialiseBizStyle (file:///Users/phprus/....../build/html/_static/bizstyle.js:21:14)
    initialiseBizStyle @ bizstyle.js:21
    

    and

    Uncaught DOMException: Failed to execute 'querySelectorAll' on 'Document': 'div.related:last ul li:not(.right) a' is not a valid selector.
    

    FireFox 108.0.1:

    Uncaught DOMException: Document.querySelectorAll: 'div.related:first ul li:not(.right) a' is not a valid selector bizstyle.js:21
        initialiseBizStyle file:///Users/phprus/....../build/html/_static/bizstyle.js:21
    

    How to Reproduce

    $ echo "Content demonstrating the bug..." > index.rst
    $ echo "html_theme = 'bizstyle'" > conf.py
    $ sphinx-build -M html . _build
    $ # open _build/html/index.html and see exception on browser console
    

    Environment Information

    Platform:              darwin; (macOS-12.6.2-arm64-arm-64bit)
    Python version:        3.11.0 (main, Oct 25 2022, 13:57:33) [Clang 14.0.0 (clang-1400.0.29.202)])
    Python implementation: CPython
    Sphinx version:        5.3.0
    Docutils version:      0.19
    Jinja2 version:        3.1.2
    

    Sphinx extensions

    No response

    Additional context

    No response

    opened by phprus 0
  • Lint codebase using pyupgrade

    Lint codebase using pyupgrade

    This repo has previously been linted/upgraded using pyupgrade. Now that python <3.8 has been dropped, and the complex branch structure simplified, it might be a good time to revisit this.

    My preferred approach would be to add it to CI using pre-commit.

    Might need a maintainer to look at this, as they'll have a better idea which modules need to be whitelisted, etc.

    i'm particularly interested in adding pyupgrade, as once in place it can be used to automatically update all the type annotations to the python 3.10+ syntax (supported in python 3.8+ using from __future__ import annotations)

    opened by danieleades 3
  • Documentation: favicon and logo variables not documented properly with 6.0.0 release

    Documentation: favicon and logo variables not documented properly with 6.0.0 release

    Describe the bug

    The Deprecated APIs documentation page still lists the removal of favico and logo variables in HTML templates as "TBD". However, they appear to have been removed for the 6.0.0 release as of PR #10562.

    How to Reproduce

    Build docs with a template that has a conditional inclusion of the form:

            {%- if logo -%}
            . . .
            {%- endif -%}
    

    With 5.3.0 this would still include the content in HTML output; with 6.0.0, the content is no longer included.

    Switching the conditional inclusion to {%- if logo_url -%} with 6.0.0 makes the build correctly include the content in the output again.

    Environment Information

    text Platform: darwin; (macOS-13.1-x86_64-i386-64bit) Python version: 3.11.1 (main, Dec 8 2022, 10:20:55) [Clang 14.0.0 (clang-1400.0.29.202)]) Python implementation: CPython Sphinx version: 6.0.0 Docutils version: 0.19 Jinja2 version: 3.1.2

    Sphinx extensions

    No response

    Additional context

    Deprecated APIs page needs an update to note that now logo and favicon have been removed in favour of logo_url and favicon_url as of 6.0.0.

    opened by ViktorHaag 5
  • add SIM401 lint

    add SIM401 lint

    I'm personally less convinced by this lint. I think there's a net benefit, but a small one. Coming from Rust, I do like the functional approach, and i like that the variable only gets bound in one place.

    More a matter of taste than a clear benefit. I vote for merging, but I'm open to being convinced otherwise

    opened by danieleades 0
Releases(v6.0.0)
DeltaPy - Tabular Data Augmentation (by @firmai)

DeltaPy⁠⁠ — Tabular Data Augmentation & Feature Engineering Finance Quant Machine Learning ML-Quant.com - Automated Research Repository Introduction T

Derek Snow 470 Dec 28, 2022
PyPresent - create slide presentations from notes

PyPresent Create slide presentations from notes Add some formatting to text file

1 Jan 06, 2022
A Material Design theme for MkDocs

A Material Design theme for MkDocs Create a branded static site from a set of Markdown files to host the documentation of your Open Source or commerci

Martin Donath 12.3k Jan 04, 2023
Python document object mapper (load python object from JSON and vice-versa)

lupin is a Python JSON object mapper lupin is meant to help in serializing python objects to JSON and unserializing JSON data to python objects. Insta

Aurélien Amilin 24 Nov 09, 2022
A collection and example code of every topic you need to know about in the basics of Python.

The Python Beginners Guide: Master The Python Basics Tonight This guide is a collection of every topic you need to know about in the basics of Python.

Ahmed Baari 1 Dec 19, 2021
Canonical source repository for PyYAML

PyYAML - The next generation YAML parser and emitter for Python. To install, type 'python setup.py install'. By default, the setup.py script checks

The YAML Project 2k Jan 01, 2023
the project for the most brutal and effective language learning technique

- "The project for the most brutal and effective language learning technique" (c) Alex Kay The langflow project was created especially for language le

Alexander Kaigorodov 7 Dec 26, 2021
Żmija is a simple universal code generation tool.

Żmija Żmija is a simple universal code generation tool. It is intended to be used as a means to generate code that is both efficient and easily mainta

Adrian Samoticha 2 Nov 23, 2021
The OpenAPI Specification Repository

The OpenAPI Specification The OpenAPI Specification is a community-driven open specification within the OpenAPI Initiative, a Linux Foundation Collabo

OpenAPI Initiative 25.5k Dec 29, 2022
Pyoccur - Python package to operate on occurrences (duplicates) of elements in lists

pyoccur Python Occurrence Operations on Lists About Package A simple python package with 3 functions has_dup() get_dup() remove_dup() Currently the du

Ahamed Musthafa 6 Jan 07, 2023
Obmovies - A short guide on setting up the system and environment dependencies required for ob's Movies database

Obmovies - A short guide on setting up the system and environment dependencies required for ob's Movies database

1 Jan 04, 2022
Second version of SQL-PYTHON-Practicas

SQLite-Python Acerca de | Autor Sobre el repositorio Segunda version de SQL-PYTHON-Practicas 💻 Tecnologias Visual Studio Code Python SQLite3 📖 Requi

1 Jan 06, 2022
In this Github repository I will share my freqtrade files with you. I want to help people with this repository who don't know Freqtrade so much yet.

My Freqtrade stuff In this Github repository I will share my freqtrade files with you. I want to help people with this repository who don't know Freqt

Simon Kebekus 104 Dec 31, 2022
Fun interactive program to sort a list :)

LHD-Build-Sort-a-list Fun interactive program to sort a list :) Inspiration LHD Build Write a script to sort a list. What it does It is a menu driven

Ananya Gupta 1 Jan 15, 2022
EasyModerationKit is an open-source framework designed to moderate and filter inappropriate content.

EasyModerationKit is a public transparency statement. It declares any repositories and legalities used in the EasyModeration system. It allows for implementing EasyModeration into an advanced charact

Aarav 1 Jan 16, 2022
SqlAlchemy Flask-Restful Swagger Json:API OpenAPI

SAFRS: Python OpenAPI & JSON:API Framework Overview Installation JSON:API Interface Resource Objects Relationships Methods Custom Methods Class Method

Thomas Pollet 361 Nov 16, 2022
Show Rubygems description and annotate your code right from Sublime Text.

Gem Description for Sublime Text Show Rubygems description and annotate your code. Just mouse over your Gemfile's gem definitions to show the popup. s

Nando Vieira 2 Dec 19, 2022
graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elliptical orbits. you can change timestamp value or scale from source code idc.

solarSystemOrbitalSimulation graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elli

Mega 3 Mar 03, 2022
Fully typesafe, Rust-like Result and Option types for Python

safetywrap Fully typesafe, Rust-inspired wrapper types for Python values Summary This library provides two main wrappers: Result and Option. These typ

Matthew Planchard 32 Dec 25, 2022
A Python library that simplifies the extraction of datasets from XML content.

xmldataset: simple xml parsing 🗃️ XML Dataset: simple xml parsing Documentation: https://xmldataset.readthedocs.io A Python library that simplifies t

James Spurin 75 Dec 30, 2022