semvec/pypi-packages huggingface dataset:
mcast 1.3.1
Python Multicast file transfer CLI tool - also comes with nc/netcat implementation
License: BSD

#####
MCast
#####

The simplest multicast file transfer app on earth ! ;)
+ pure python netcat (as fallback ?)

Pull data:

    .. code-block:: console

        mcast

Push data:

    .. code-block:: console

        mcast file.ext

Features
########

- transfer files of any size to multiple hosts at a time
- simple to use (even NetCat is more complex !)
- single file app, runs on any platform (pure Python)
- file corruption detected automatically

Limitations
###########

- computers must be on the same network
    - ``nc.py`` tool featured for *traditional* tcp connections
- one file transfer at a time [TODO: fix this] 

How to use it
#############

receive
    call ``mcast`` without argument
send
    call ``mcast`` with file as argument, or "``-``" for stdin

There are two steps:

#. start program on each computer wanting to receive the file or content
#. start the program with the file as parameter on any computer of the network

On computers you want to send the file to
-----------------------------------------

Run this command to receive data and show it on the console:

.. code-block:: console

    mcast

or, more common, saving the content to a file:

.. code-block:: console

    mcast > my_super_file.ext

or, unpack the transmitted tar archive:

.. code-block:: console

    mcast | tar xvf

On the computer owning the file to distribute
---------------------------------------------

.. code-block:: console

    mcast path/to/file.ext

or, if you want to send multiple files using tar

.. code-block:: console

    tar cvf - path/to/send | mcast -


Developers
##########

This app is supported and tested only under Linux, but patches for other OS are accepted.
choose 2.0.0
Choices on steroids
License: BSD

choose
========

Choices on steroids

.. image:: https://img.shields.io/pypi/v/choose.svg
        :target: https://pypi.python.org/pypi/choose

.. image:: https://img.shields.io/travis/ulamlabs/choose.svg
        :target: https://travis-ci.org/ulamlabs/choose

.. image:: https://codecov.io/gh/ulamlabs/choose/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/ulamlabs/choose


Supported versions
================

- Python 2 and 3 support


How to install
==========

    .. code-block:: bash
    
        pip install choose


Basic usage:
===========

    .. code-block:: python

        >>> class Types(choose.Choices):
        >>>     BAR = choose.Choice('foo_bar', 'Foo Bar')
        >>>     BAZ = choose.Choice('foo_baz', 'Foo Baz')
        >>> Types.BAR
        'foo_bar'
        >>> Types.BAR.text
        'Foo Bar'
        >>> Types.items()
        (('foo_bar', 'Foo Bar'), ('foo_baz', 'Foo Baz'))
        >>> Types.keys()
        ('foo_bar', 'foo_baz')
        >>> Types.values()
        ('Foo Bar', 'Foo Baz')
        >>> 'foo_bar' in Types
        True

Extended usage:
===============

    .. code-block:: python

        >>> class Types2(choose.Choices):
        >>>     BAR = choose.Choice('foo_bar', 'Foo Bar', default=False)
        >>>     BAZ = choose.Choice('foo_baz', 'Foo Baz', default=False)
        >>>     FOO = choose.Choice('foo_foo', 'Foo Foo', default=True)
        >>>
        >>>     @classmethod
        >>>     def get_default(cls):
        >>>         return next(
        >>>             (item for item in cls.keys() if item.opts.default is True),
        >>>             None,
        >>>         )
        >>>
        >>> Types2.BAR.opts.default
        False
        >>> Types2.BAR.opts.not_existing_attr is None
        True
        >>> 'foo_bar' == Types2.get_default()
        False
        >>> Types2.BAR == Types2.get_default()
        False
        >>> 'foo_foo' == Types2.get_default()
        True
        >>> Types2.FOO == Types2.get_default()
        True

Usage in Django:
================

    .. code-block:: python

        class AModel(models.Model):
            class AChoices(choose.Choices):
                X = choose.Choice('x', 'X')
                Y = choose.Choice('y', 'Y')

            choice = models.CharField(max_length=63, choices=AChoices.items())