VSCode extension that generates docstrings for python files

Overview

Build Status Installs Rating

VSCode Python Docstring Generator

Visual Studio Code extension to quickly generate docstrings for python functions.

Auto Generate Docstrings

Features

  • Quickly generate a docstring snippet that can be tabbed through.
  • Choose between several different types of docstring formats.
  • Infers parameter types through pep484 type hints, default values, and var names.
  • Support for args, kwargs, decorators, errors, and parameter types

Docstring Formats

  • Google (default)
  • docBlockr
  • Numpy
  • Sphinx
  • PEP0257 (coming soon)

Usage

Cursor must be on the line directly below the definition to generate full auto-populated docstring

  • Press enter after opening docstring with triple quotes (""" or ''')
  • Keyboard shortcut: ctrl+shift+2 or cmd+shift+2 for mac
    • Can be changed in Preferences -> Keyboard Shortcuts -> extension.generateDocstring
  • Command: Generate Docstring
  • Right click menu: Generate Docstring

Extension Settings

This extension contributes the following settings:

  • autoDocstring.docstringFormat: Switch between different docstring formats
  • autoDocstring.customTemplatePath: Path to a custom docstring template (absolute or relative to the project root)
  • autoDocstring.generateDocstringOnEnter: Generate the docstring on pressing enter after opening docstring
  • autoDocstring.includeExtendedSummary: Include extended summary section in docstring
  • autoDocstring.includeName: Include function name at the start of docstring
  • autoDocstring.startOnNewLine: New line before summary placeholder
  • autoDocstring.guessTypes: Infer types from type hints, default values and variable names
  • autoDocstring.quoteStyle: The style of quotes for docstrings

Custom Docstring Templates

This extension now supports custom templates. The extension uses the mustache.js templating engine. To use a custom template create a .mustache file and specify its path using the customTemplatePath configuration. View the included google docstring template for a usage example. The following tags are available for use in custom templates.

Variables

{{name}}                        - name of the function
{{summaryPlaceholder}}          - [summary] placeholder
{{extendedSummaryPlaceholder}}  - [extended_summary] placeholder

Sections

{{#args}}                       - iterate over function arguments
    {{var}}                     - variable name
    {{typePlaceholder}}         - [type] or guessed type  placeholder
    {{descriptionPlaceholder}}  - [description] placeholder
{{/args}}

{{#kwargs}}                     - iterate over function kwargs
    {{var}}                     - variable name
    {{typePlaceholder}}         - [type] or guessed type placeholder
    {{&default}}                - default value (& unescapes the variable)
    {{descriptionPlaceholder}}  - [description] placeholder
{{/kwargs}}

{{#exceptions}}                 - iterate over exceptions
    {{type}}                    - exception type
    {{descriptionPlaceholder}}  - [description] placeholder
{{/exceptions}}

{{#yields}}                     - iterate over yields
    {{typePlaceholder}}         - [type] placeholder
    {{descriptionPlaceholder}}  - [description] placeholder
{{/yields}}

{{#returns}}                    - iterate over returns
    {{typePlaceholder}}         - [type] placeholder
    {{descriptionPlaceholder}}  - [description] placeholder
{{/returns}}

Additional Sections

{{#argsExist}}          - display contents if args exist
{{/argsExist}}

{{#kwargsExist}}        - display contents if kwargs exist
{{/kwargsExist}}

{{#parametersExist}}    - display contents if args or kwargs exist
{{/parametersExist}}

{{#exceptionsExist}}    - display contents if exceptions exist
{{/exceptionsExist}}

{{#yieldsExist}}        - display contents if returns exist
{{/yieldsExist}}

{{#returnsExist}}       - display contents if returns exist
{{/returnsExist}}

{{#placeholder}}        - makes contents a placeholder
{{/placeholder}}

Changelog

Check the CHANGELOG.md for any version changes.

Reporting issues

Report any issues on the github issues page. Follow the template and add as much information as possible.

Contributing

The source code for this extension is hosted on GitHub. Contributions, pull requests, suggestions, and bug reports are greatly appreciated.

  • Post any issues and suggestions to the github issues page. Add the feature request tag to any feature requests or suggestions.
  • To contribute, fork the project and then create a pull request back to master. Please update the README if you make any noticeable feature changes.
  • There is no official contribution guide or code of conduct yet, but please follow the standard open source norms and be respectful in any comments you make.

License

This project is licensed under the MIT License - see the LICENSE file for details

Comments
  • Fixes #143: Ignore

    Fixes #143: Ignore "raise something" in comments

    Aim

    I found a bug (reported in #143 ) where if you have some commented out sentence that contains the word "raise" would cause it to be parsed as if it was an Exception leading to this strange behaviour:

    def foo(bar):
        """[summary]
    
        Args:
            bar ([type]): [description]
    
        Raises:
            appropriate: [description]
        """
    	print('Hello World')
    	# TODO: raise appropriate error down the line
    

    I modified the regex pattern to ignore raise if a "#" came at any point before it.

    How was this tested

    Ran the example snippet provided above with expected behaviour. Ran it also with a good old Exception to see if I didn't just break the functionality all together npn run test & npm run integration_test

    I didn't add a test to cover this particular case (I figured better to leave the current test be simple), but if you feel strongly about it I could!

    Related Issue

    Fixes #143

    opened by bastienboutonnet 14
  • Doc String not generated in 0.5.0, was working in 0.4.0

    Doc String not generated in 0.5.0, was working in 0.4.0

    Describe the bug The doc string template is not generated below the function def after entering """. This was working a few days ago, I noticed an update today, April 21, 2020 was pushed.
    I reverted to version 0.4.0 and then it worked as expected.

    Versions (please complete the following information):

    • autoDocstring Version: 0.5.0
    • Operating System: Windows 10, version 2004
    • Vscode Version: 1.44.2

    Original Code (with line to generate on):

    def single_slug(request, single_slug):
        categories = [c.category_slug for c in TutorialCategory.objects.all()]
    

    Expected Result:

    Actual Result:

    def single_slug(request, single_slug):
        """
        
        categories = [c.category_slug for c in TutorialCategory.objects.all()]
    

    Additional context Add any other context about the problem here.

    bug 
    opened by Bill-Fujimoto 9
  • How to remove the ‘square brackets’ for placeholders?

    How to remove the ‘square brackets’ for placeholders?

    Hi, there. I am wondering is there a way to remove the square brackets used in this extension?

    When I want to edit the comments like ''[Type]'' and ''[description]'', it is a little annoying that I can not quick select the whole word with the brackets. I know there is a hot key 'Tab', but it seems just works at the first time when I create the snippets. I'd like to remove the square brackets so that I can re-edit the strings.

    feature request 
    opened by leon-work 9
  • Fix: Parse quoted type hints in type guessing

    Fix: Parse quoted type hints in type guessing

    Description

    As explained in #138 the ability to guess types from type hints was "broken" when it would encounter a quoted type hint as in the example below:

    from typing import TYPE_CHECKING
    
    if TYPE_CHECKING:
    	import pandas as pd
    
    def foo(bar: "pd.DataFrame"):
    	pass
    

    Since quoted type hints aren't uncommon when the developer does not want to import a library and in the case of forward imports. I thought this might be a nice addition.

    Without an ability to parse quoted hints, the docstring would fail to generate arguments with types resulting in the following:

    def foo(bar: "pd.DataFrame"):
    	"""[summary]
    	"""
    

    How was this tested?

    • Ran ext in VSCode extention development. Tested the following cases" def foo(bar: pd.DataFrame):, def foo(bar: "pd.DataFrame"):, def foo(bar: 'pd.DataFrame'): All lead to:
    def foo(bar: "pd.DataFrame", is_something):
        """[summary]
    
        Args:
            bar (pd.DataFrame): [description]
            is_something: (bool): [description]
        """
    

    Note to reviewer

    I didn't check other functionalities nor ran unit tests to check this change wasn't breaking anything as I'm not great at working in TypeScript or developing extensions in VSCode, but would be happy to run further tests on your guidance if required.

    Also, I haven't checked whether there are any PEP conventions that would advise against documenting hints that are quoted, but I don't see why not.

    Related Issue

    Fixes #138

    opened by bastienboutonnet 8
  • Errors being reported by VSCode

    Errors being reported by VSCode

    Autodocstring shows errors when I show running extensions in VSCode:

    • Issue Type: Bug
    • Extension Name: autodocstring
    • Extension Version: 0.4.0
    • OS Version: Windows_NT x64 10.0.18362
    • VSCode version: 1.41.1
    {
    	"messages": [],
    	"activationTimes": {
    		"codeLoadingTime": 226,
    		"activateCallTime": 0,
    		"activateResolvedTime": 922,
    		"activationReason": {
    			"startup": false,
    			"extensionId": {
    				"value": "njpwerner.autodocstring",
    				"_lower": "njpwerner.autodocstring"
    			},
    			"activationEvent": "onLanguage:python"
    		}
    	},
    	"runtimeErrors": [
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "TypeError",
    			"message": "Cannot read property 'document' of undefined"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		},
    		{
    			"name": "Error",
    			"message": "Illegal argument: character must be non-negative"
    		}
    	]
    }
    
    bug 
    opened by ymyke 7
  • No docstring generated on Remote-SSH

    No docstring generated on Remote-SSH

    auto docstring works fine locally, but on remote-ssh docstrings are not generated:

    command 'extension.generateDocstring' not found

    uninstalling and reinstalling did not work, nor did installing remotely.

    bug 
    opened by timsainb 7
  • Cannot read property 'document' of undefined

    Cannot read property 'document' of undefined

    Windows 10 vscode 1.27.2

     ERR Cannot read property 'document' of undefined: TypeError: Cannot read property 'document' of undefined
    	at activateOnEnter (C:\Users\almenon\.vscode\extensions\njpwerner.autodocstring-0.2.3\out\src\extension.js:19:36)
    	at context.subscriptions.push.vs.workspace.onDidChangeTextDocument.changeEvent (C:\Users\almenon\.vscode\extensions\njpwerner.autodocstring-0.2.3\out\src\extension.js:13:90)
    	at e.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:99:917)
    	at e.$acceptModelChanged (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:742:362)
    	at e._doInvokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:681:309)
    	at e._invokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:681:27)
    	at e._receiveRequest (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:679:802)
    	at e._receiveOneMessage (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:678:993)
    	at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:677:791
    	at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:98:597
    	at e.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:99:917)
    	at a (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:164:787)
    	at Socket.n._socketDataListener (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:164:1006)
    	at emitOne (events.js:116:13)
    	at Socket.emit (events.js:211:7)
    	at addChunk (_stream_readable.js:263:12)
    	at readableAddChunk (_stream_readable.js:250:11)
    	at Socket.Readable.push (_stream_readable.js:208:10)
    	at Pipe.onread (net.js:594:20)
    
    bug 
    opened by Almenon 7
  • Only summary generated if comment found in function definition line

    Only summary generated if comment found in function definition line

    Full docstring is generated normally, with types inferred from hints.

    def fun(a1: str, a2: dict) -> str:
        """[summary]
    
        :param a1: [description]
        :type a1: str
        :param a2: [description]
        :type a2: dict
        :return: [description]
        :rtype: str
        """
        pass
    

    But if there is a comment after function definition in the same logical line (it may contain physical line breaks) only summary field is generated:

    def fun(a1: str, a2: dict) -> str:  # comment
        """[summary]
        """
        pass
    

    This is usual place for code analysis tools to put pragmas, like pragma: nocover to skip block from test coverage calculation.

    bug 
    opened by zgoda 6
  • Adds support for ''' style triple quotes

    Adds support for ''' style triple quotes

    This works as the quoteStyle is passed from where it is detected in baseFactory throughout all the commands which detect the docstring opener and quotes. These include

    • validEnterActivation
    • docstringIsClosed
    • isMultiString
    • contentText

    I haven't properly updated the unit testing to test for ''' quotes, as it is a very tedious operation that I didn't feel like doing.

    This fixes #49

    opened by modelmat 6
  • Option to turn off type generation entirely

    Option to turn off type generation entirely

    Hi there, great extension! I'm wondering if you'd be willing to add an option which completely disables the generation of type information inside the generated docstrings. I only have experience with sphinx, so I'm not sure how the other docstring types would look, but since my code is using type annotations I tend to write my docstrings like this:

    def foo(some_param: str) -> int:
        """Some function.
        
        :param some_param: the thing that does the other thing
        :return: some meaning of life or whatever
        """
        return 42
    

    (omitting the types entirely, since it's possible to generate the sphinx docs using a plugin such as https://pypi.org/project/sphinx-autodoc-annotation/ or https://github.com/agronholm/sphinx-autodoc-typehints).

    Happy to help with a PR if you're ok with the idea (although, I'd probably need to research if the other docstring types work without type information).

    feature request 
    opened by jdb8 6
  • Custom docstring

    Custom docstring

    feature request

    Consider adding a feature to create custom docstring formats that can be used as user settings. It would be quite useful when there is need to maintain a specific coding style across a project.

    feature request 
    opened by ashwani99 6
  • exceptions may occur multiple times

    exceptions may occur multiple times

    Description when a certain exception is raised on multiple lines within the function, the exception will occur multiple times in the docstring.

    Versions:

    • autoDocstring Version: v0.6.1
    • Operating System: Win 10
    • Vscode Version: 1.73.0

    Original Code

    def TestFxn(arg0: int, arg1: str) -> str:
            if len(arg1) * arg0 > 1000:
                raise ValueError("bad idea... too many chars")
            if not arg1:
                raise ValueError("empty string")
    
            return arg1 * arg0
    

    Expected Result:

    def TestFxn(arg0: int, arg1: str) -> str:
            """_summary_
    
            Args:
                arg0 (int): _description_
                arg1 (str): _description_
    
            Raises:
                ValueError: _description_
    
            Returns:
                str: _description_
            """
    

    Actual Result:

    def TestFxn(arg0: int, arg1: str) -> str:
            """_summary_
    
            Args:
                arg0 (int): _description_
                arg1 (str): _description_
    
            Raises:
                ValueError: _description_
                ValueError: _description_
    
            Returns:
                str: _description_
            """
    
    bug 
    opened by GabrielSchoenweiler 1
  • [feature request] Enable use in types of files besides *.py

    [feature request] Enable use in types of files besides *.py

    I have had the occasion to write python code inside another type of source file. autoDocstring seems only to be enabled for source files with a .py extension. It would be great to be able to specify a list of types in settings.json that would allow other types of files to take advantage of autoDocstring.

    opened by inismor 0
  • Partial forward references in return type causes parameter/args section to be blank

    Partial forward references in return type causes parameter/args section to be blank

    Describe the bug If the return type has a nested forward reference (e.g. -> Iterable["ForwardRef"]), then the whole parameters/args block and return block in the docstring will be omitted. Note: If the whole return type is made a forward reference (e.g. -> "Iterable[ForwardRef]"), or if the partial forward ref is only on a function argument then this does not occur.

    Versions (please complete the following information):

    • autoDocstring Version: v0.6.1
    • Operating System: Windows 10 x64
    • Vscode Version: 1.73.0

    Original Code (with line to generate on):

    from typing import Iterable
    
    def test_func(value: "str") -> Iterable["str"]:
        # generate on this line    
        pass
    

    Expected Result:

    def test_func(value: "str") -> "Iterable[str]":
        """_summary_
    
        Parameters
        ----------
        value : str
            _description_
    
        Returns
        -------
        Iterable[str]
            _description_
        """    
        pass
    

    Actual Result:

    def test_func(value: "str") -> Iterable["str"]:
        """_summary_
        """    
        pass
    

    Debug log: Set autoDocstring.logLevel to "Debug", recreate the bug, and then copy the debug logs from the autoDocstring output channel.

    [INFO 09:27:50.018] Generating Docstring at line: 3
    [INFO 09:27:50.022] Docstring generated:
        """${1:_summary_}
        """
    [INFO 09:27:50.022] Inserting at position: 3 0
    [INFO 09:27:50.050] Successfully inserted docstring
    

    Stack trace: If an error was reported by autoDocstring please copy the stack trace from the autoDocstring output channel.

    
    

    Additional context Add any other context about the problem here.

    bug 
    opened by SuaveFool 0
  • [ERROR 15:25:54.237] Error: connect ECONNREFUSED 127.0.0.1:5000

    [ERROR 15:25:54.237] Error: connect ECONNREFUSED 127.0.0.1:5000

    Describe the bug Generate docstring encounters error on use

    Versions (please complete the following information):

    • autoDocstring Version:
    • Operating System: arch-manjaro
    • Vscode Version: september-22

    Original Code (with line to generate on):

    # generate on this line
    

    Expected Result:

    
    

    Actual Result:

    
    

    Debug log: [INFO 15:24:07.018] ai-docstring was activated [INFO 15:25:54.154] Generating Docstring at line: 99 [INFO 15:25:54.160] Docstring generated: """ add_links_to_tagfiles ${1:AI is creating summary for add_links_to_tagfiles}

    ${2:[extended_summary]}
    """
    

    [INFO 15:25:54.160] Inserting at position: 99 0 [INFO 15:25:54.208] Successfully inserted docstring [ERROR 15:25:54.237] Error: connect ECONNREFUSED 127.0.0.1:5000

    
    

    Stack trace: If an error was reported by autoDocstring please copy the stack trace from the autoDocstring output channel.

    
    

    Additional context Used to work, fresh install.

    bug 
    opened by oweninglese 0
  • Not working properly for class documentation, should add __init__ args & *kwargs to class docstring instead of treating base class as arguments

    Not working properly for class documentation, should add __init__ args & *kwargs to class docstring instead of treating base class as arguments

    Describe the bug Not working properly for class documentation, should add init args & *kwargs to class docstring instead of treating base class as arguments

    Versions (please complete the following information):

    • autoDocstring Version:0.6.2 (tried with earlier versions as well)
    • Operating System:Mac OS Monterey
    • Vscode Version:1.72.1

    Original Code (with line to generate on):

    class A(SuperA, SuperB, SuperC):
        def __init__(apple, bat, cat=None):
            pass
    

    Expected Result:

    class A(SuperA, SuperB, SuperC):
    	"""_summary_
    
    	:param apple: _description_
    	:param bat: _description_
    	:param cat: _description_, defaults to None
    	"""
    	def __init__(apple, bat, cat=None):
    		pass
    
    

    Actual Result:

    class A(SuperA, SuperB, SuperC):
    	"""_summary_
    
    	:param SuperA: _description_
    	:param SuperB: _description_
    	:param SuperC: _description_
    	"""
        def __init__(apple, bat, cat=None):
            pass
    
    

    Debug log: Set autoDocstring.logLevel to "Debug", recreate the bug, and then copy the debug logs from the autoDocstring output channel.

    [INFO 23:37:46.255] Generating Docstring at line: 16
    [INFO 23:37:46.257] Docstring generated:
    	"""${1:_summary_}
    
    	:param SuperA: ${2:_description_}
    	:param SuperB: ${3:_description_}
    	:param SuperC: ${4:_description_}
    	"""
    [INFO 23:37:46.257] Inserting at position: 16 0
    [INFO 23:37:46.263] Successfully inserted docstring
    

    Stack trace: If an error was reported by autoDocstring please copy the stack trace from the autoDocstring output channel.

    
    

    Additional context Add any other context about the problem here.

    bug 
    opened by vijay-jangir 0
  • Easy shortcut key

    Easy shortcut key

    Describe the bug Right now we have to put cursor below the function definition and then press enter and then generate the docstring. The best way is that wherever on the function definition or in the function body we are, if we press shortcut key (e.g., ctrl+shift+2) it should automatically generate the docString in the right place.

    bug 
    opened by lohraspco 0
Releases(v0.6.1)
Owner
Nils Werner
Nils Werner
Official Matplotlib cheat sheets

Official Matplotlib cheat sheets

Matplotlib Developers 6.7k Jan 09, 2023
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
A Python validator for SHACL

pySHACL A Python validator for SHACL. This is a pure Python module which allows for the validation of RDF graphs against Shapes Constraint Language (S

RDFLib 187 Dec 29, 2022
Generate YARA rules for OOXML documents using ZIP local header metadata.

apooxml Generate YARA rules for OOXML documents using ZIP local header metadata. To learn more about this tool and the methodology behind it, check ou

MANDIANT 34 Jan 26, 2022
sphinx builder that outputs markdown files.

sphinx-markdown-builder sphinx builder that outputs markdown files Please ★ this repo if you found it useful ★ ★ ★ If you want frontmatter support ple

Clay Risser 144 Jan 06, 2023
Python-slp - Side Ledger Protocol With Python

Side Ledger Protocol Run python-slp node First install Mongo DB and run the mong

Solar 3 Mar 02, 2022
YAML metadata extension for Python-Markdown

YAML metadata extension for Python-Markdown This extension adds YAML meta data handling to markdown with all YAML features. As in the original, metada

Nikita Sivakov 14 Dec 30, 2022
An introduction to hikari, complete with different examples for different command handlers.

An intro to hikari This repo provides some simple examples to get you started with hikari. Contained in this repo are bots designed with both the hika

Ethan Henderson 18 Nov 29, 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
This is the data scrapped of all the pitches made up potential startup's to established bussiness tycoons of India with all the details of Investments made, equity share, Name of investor etc.

SharkTankInvestor This is the data scrapped of all the pitches made up potential startup's to established bussiness tycoons of India with all the deta

Subradip Poddar 2 Aug 02, 2022
Assignments from Launch X's python introduction course

Launch X - On Boarding Assignments from Launch X's Python Introduction Course Explore the docs » Report Bug · Request Feature Table of Contents About

Javier Méndez 0 Mar 15, 2022
This is a template (starter kit) for writing Maturity Work with Sphinx / LaTeX at Collège du Sud

sphinx-tm-template Ce dépôt est un template de base utilisable pour écrire ton travail de maturité dans le séminaire d'informatique du Collège du Sud.

6 Dec 22, 2022
Tutorial for STARKs with supporting code in python

stark-anatomy STARK tutorial with supporting code in python Outline: introduction overview of STARKs basic tools -- algebra and polynomials FRI low de

121 Jan 03, 2023
Numpy's Sphinx extensions

numpydoc -- Numpy's Sphinx extensions This package provides the numpydoc Sphinx extension for handling docstrings formatted according to the NumPy doc

NumPy 234 Dec 26, 2022
Python Deep Dive Course - Accompanying Materials

Python Deep Dive Various Jupyter notebooks and Python sources associated with my Udemy Python 3 Deep Dive course series: Part 1: Mainly functional pro

Fred Baptiste 1.1k Dec 30, 2022
level2-data-annotation_cv-level2-cv-15 created by GitHub Classroom

[AI Tech 3기 Level2 P Stage] 글자 검출 대회 팀원 소개 김규리_T3016 박정현_T3094 석진혁_T3109 손정균_T3111 이현진_T3174 임종현_T3182 Overview OCR (Optimal Character Recognition) 기술

6 Jun 10, 2022
Course materials and handouts for #100DaysOfCode in Python course

#100DaysOfCode with Python course Course details page: talkpython.fm/100days Course Summary #100DaysOfCode in Python is your perfect companion to take

Talk Python 1.9k 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
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
Essential Document Generator

Essential Document Generator Dead Simple Document Generation Whether it's testing database performance or a new web interface, we've all needed a dead

Shane C Mason 59 Nov 11, 2022