semvec/pypi-packages huggingface dataset:
easy-data-explorer-afj 0.0.4
Easy Data Explorer
Requires Python: >=3.6
Keywords: python,data explore

# Easy Data Explorer
Python library to do common data exploring tasks 

## To build

Generate dist
+ `py -m pip install --upgrade build`
+ `py -m build`

Upload dist
+ `py -m pip install --upgrade twine`
+ `py -m twine upload  dist/*`

Install library
+ `py -m pip install easy-data-explorer-afj`
mach.py 0.4.4
Create CLI interfaces quickly

========
M.A.C.H
========
.. image:: https://readthedocs.org/projects/mach/badge/?version=latest
   :target: http://mach.readthedocs.io/en/latest/?badge=latest
.. image:: https://travis-ci.org/oz123/mach.svg?branch=master
   :target: https://travis-ci.org/oz123/mach
.. image:: https://coveralls.io/repos/github/oz123/mach/badge.svg?branch=master
   :target: https://coveralls.io/github/oz123/mach?branch=master

Magical Argparse Command Helper

.. image:: https://raw.githubusercontent.com/oz123/mach/master/imgs/mach-logo.jpg


Features
--------

 * Get your CLI interfaces quickly
 * Turn a simple class to a CLI application or an interactive interpreter.


Given:

.. code:: python

  class Calculator:

      def add(self, a, b):
          """adds two numbers and prints the result"""
          return a + b

      def div(self, a, b):
          """divide one number by the other"""
          return a / b

You can make command line application using the decorator ``mach1``:

.. code:: python

   from mach import mach1

   @mach1()
   class Calculator:

       def add(self, int: a, int: b):
           """adds two numbers and prints the result"""
          print(a + b)

       def div(self, int: a, int: b):
           """divide one number by the other"""
          print(a / b)


   calc = Calculator()

   calc.run()

Now if you run the module, you will get a program that you can invoke with
the flag ``-h`` or ``--help``:

.. code:: shell

   $ python calc.py -h
   usage: calc.py [-h] {add,div} ...

   positional arguments:
   {add,div}   commands

      add       adds two numbers and prints the result
      div       divide one number by the other

   optional arguments:
     -h, --help  show this help message and exit


each method is a subcommand, with type checking and it's own very help.
Hench, this won't work:

.. code:: shell

   $ python calc.py add foo bar
   usage: calc.py add [-h] b a
   calc.py add: error: argument b: invalid int value: 'foo'

And this will:

.. code:: shell

   $ python calc.py add 4 9
   13

To see the help of the subcommand use ``-h``:

.. code:: shell

   $ python calc.py add -h
   usage: calc.py add [-h] b a

   positional arguments:
    b
    a

   optional arguments:
     -h, --help  show this help message and exit

With the help of the decorator ``mach2`` you can turn your class to CLI
application and have also an iteractive shell which invoke when no
parameters are given:

.. code:: shell

   $ ./examples/calc2.py
   Welcome to the calc shell. Type help or ? to list commands.

   calc2 > ?

   Documented commands (type help <topic>):
   ========================================
   add  div  exit  help

   calc2 > help add
   adds two numbers and prints the result
   calc2 > add 2 4
   6
   calc2 > div 6 2
   3.0
   calc2 > exit
   Come back soon ...
   $

Installation
------------

You can get mach from PyPI using pip::

   $ pip install mach.py
h2rs 0.0.1
Detects request smuggling via HTTP/2 downgrades.
Requires Python: >=3.6

[![GitHub version](https://badge.fury.io/gh/boennemann%2Fbadges.svg)](http://badge.fury.io/gh/boennemann%2Fbadges) [![GPL Licence](https://badges.frapsoft.com/os/gpl/gpl.svg?v=103)](https://opensource.org/licenses/GPL-2.0/) [![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)
# h2rs

Detects request smuggling via HTTP/2 downgrades.

# Requirements

* Python 3.x

## Python Modules

* base64
* sys
* socket
* ssl
* certifi
* h2.connection
* h2.events
* argparse

# Install

```
$ pip3 install h2rs
```

# Usage

```
$ h2rs
 _   ___         
| |_|_  |___ ___ 
|   |  _|  _|_ -|
|_|_|___|_| |___|

version 0.0.1
Error: requires target parameter.
usage: h2rs [-h] [-t TARGET] [-p PORT] [-m TIMEOUT] [-u USER_AGENT]

Detects request smuggling via HTTP/2 downgrades.

optional arguments:
  -h, --help            show this help message and exit
  -t TARGET, --target TARGET
                        Target server hostname (eg. www.example.com).
  -p PORT, --port PORT  Server TCP port to connect over TLS (default 443).
  -m TIMEOUT, --timeout TIMEOUT
                        Set connection timeout for request smuggling test (default 5).
  -u USER_AGENT, --user_agent USER_AGENT
                        Set default User-Agent request header (default "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69
                        Safari/537.36").
```

# Example

```
$ h2rs -t ac971f5e1e77d74fc0555ed900ed00eb.web-security-academy.net
 _   ___         
| |_|_  |___ ___ 
|   |  _|  _|_ -|
|_|_|___|_| |___|

version 0.0.1
Making a GET HTTP2 request to ac971f5e1e77d74fc0555ed900ed00eb.web-security-academy.net:443 ...
Got response status code 200.
Detecting H2.CL request smuggling ...
Not potencial vulnerable to H2.CL request smuggling.
Detecting H2.CL (CRLF) request smuggling ...
Not potencial vulnerable to H2.CL (CRLF) request smuggling.
Detecting H2.TE request smuggling ...
Not potencial vulnerable to H2.TE request smuggling.
Detecting H2.TE (CRLF) request smuggling ...
[!] Potencial vulnerable to H2.TE (CRLF) request smuggling.
Detecting HTTP/2 request tunnelling ...
Not potencial vulnerable to HTTP/2 request tunnelling.
```

# Author

* [Ricardo Iramar dos Santos](mailto:ricardo.iramar@gmail.com)