semvec/pypi-packages huggingface dataset:
pybrowserstack 0.1.6
Framework for running unit tests with Selenium on Browserstack
License: MIT

pybrowserstack extends the unittest framework to make selenium/browserstack automated tests really easy.

To install, simply run

::
    
    pip install pybrowserstack

Example:
::
    
    import pybrowserstack
    import unittest
    
    class SeleniumTestCase(pybrowserstack.testBase,unittest.TestCase):
    
        def setUp(self):
            self.api_keys['user'] = '<your username>'
            self.api_keys['pass'] = '<api key provided by browserstack>'
            self.workers = 2
            self.windows_7.ie()
            self.windows_8.firefox()
            self.mobile()
    
        @pybrowserstack.browserstack
        def test_firefox(self):
            self.driver.get("http://google.com")
            print(self.driver.title)
    
    if __name__ == '__main__':
        unittest.main()

The above example will use two workers and test IE on windows 7, firefox on windows 8, and one browser on each mobile device available. The test_firefox block will be run, which will print "Google" once for each test.

In the setUp method, include all of the browsers you want to run. To include the latest version of every browser, you could use the following shortcut:

::

    self.desktop()
    self.mobile()
    self.tablet()


To include all windows 7 browsers, you could run:

::
    
    self.desktop.windows_7()

To include only the newest available IE on windows 7:

::

    self.desktop.windows_7.ie()

for an older version of firefox, say version 32 on Windows 8 you could run:

::

    self.desktop.windows_8.firefox(version=32)

If you would like to test on the three newest versions of chrome on OS X Yosemite, you could try this:

self.desktop.yosemite.chrome(versions=3)

In order to specify your resolution, pass it in as a parameter. For example:

::

    self.desktop.windows_8.chrome(resolution='1024x768')

If the resolution you specified could not be found, pybrowserstack will find the closest match and throw a warning. Note that many of the above parameters are not available on mobile. 

You can test on every IOS tablet device with this command:

::

    self.tablet.apple()

Or, if you simply want to test on the iphone 5

::

    self.mobile.apple.iphone5()


If you would like to run through a local proxy, start your local session as you normally would (using ./BrowserStackLocal ACCESS_KEY localhost,3000,0) then, in your setUp method, include these lines:

::
    
    self.local = True
    self.local_id = '<your test id>'

Need other custom options? Add those to the self._global_caps dictionary
Wanderer 0.2.4
A roaming CG project.
License: MIT

.. image:: https://travis-ci.org/danbradham/Wanderer.svg?branch=master
    :target: https://travis-ci.org/danbradham/Wanderer
    :alt: Build Status

.. image:: https://pypip.in/version/wanderer/badge.svg
    :target: https://pypi.python.org/pypi/wanderer/
    :alt: Latest Version

========
Wanderer
========
Roaming CG Production

Project Management and Asset Tracking are complicated. Especially when you're production is distributed between separate studios and offsite artists. Wanderer is being developed with these challenges in mind. Wanderer projects, assets, and sequences are atomic, making it easy to share a project or a section of a project with a custom toolset and configuration.


Features
========

* Per-project Configurations

  * Platform agnostic
  * Shareable
  * Replaceable

* Powerful Command Line Interface

  * bootstrap: create a new project from a configuration
  * launch: launch applications in project specific environments
  * install/uninstall: use pip to install/uninstall packages per project
  * docs: opens documentation in your web browser
  * filetools: create/modify/delete sequences of files

* Python API

  * ``Wanderer`` : Main application object manages everything
  * ``Context`` : Information about the current situation
    e.g.(Maya>Project>Sequence>Shot>Animation)


Planned Features
================

* Python API

  * ``Event`` : Emitted by an app in a context
  * ``Action`` : Handles an event emitted in select contexts

* User Interface

  * User interface to control a Wanderer project

* Command Line Interface

  * config: get and set values in your configuration


Get Wanderer
============

PyPi
----
Wanderer is available through the python package index as **wanderer**.

::

    pip install wanderer

Distutils/Setuptools
--------------------

::

    git clone git@github.com:danbradham/wanderer.git
    cd wanderer
    python setup.py install


Documentation
=============

For more information visit the `docs <http://wanderer.readthedocs.org>`_.
redis_drs 0.0.3
A Distributed Resource Scheduling system that uses Redis.
License: MIT

A Distributed Resource Scheduling system that uses Redis (and the python Redis library).

The presence of a key that contains a "resource_signature" indicates a lock. For conveniences' sake arbitrary data may
be associated with the resource_signature.

This package is heavily based upon the "redlock-py" package: https://github.com/SPSCommerce/redlock-py
k-means-plus-plus 0.1.0
K-Means++ Clustering for Pandas DataFrames
License: MIT

K-means++ in Pandas
===================

An implementation of the [k-means++ clustering algorithm](http://en.wikipedia.org/wiki/K-means%2B%2B) using [Pandas](http://pandas.pydata.org/).

IMPORTANT NOTE
--------------

**This package should not be used in production.** The implementation of k-means++ contained therein is much slower than [that of scikit-learn](http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html). Use that instead.

The only reason why I wrote any of this is to teach myself Pandas.

Prerequisites
-------------

* Python 2.7 or lower; this is not Python 3 compatible (yet).
* [Pandas](http://pandas.pydata.org/) (obviously).
* [NumPy](http://numpy.org)

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

If you have [pip](http://www.pip-installer.org/en/latest/installing.html), then just do

	pip install k-means-plus-plus

Otherwise,

* Clone the repository:

		git clone https://github.com/jackmaney/k-means-plus-plus-pandas.git

* Enter the newly-created folder containing the repo

		cd k-means-plus-plus-pandas

* And run the installation manually:

		python setup.py install



Usage
-----

Here are the constructor arguments:

* `data_frame`: A Pandas data frame representing the data that you wish to cluster. Rows represent observations, and columns represent variables.

* `k`: The number of clusters that you want.

* `columns=None`: A list of column names upon which you wish to cluster your data. If this argument isn't provided, then all of the columns are selected. **Note:** Columns upon which you want to cluster must be numeric and have no `numpy.nan` values.

* `max_iterations=None`: The maximum number of times that you wish to iterate k-means. If no value is provided, then the iterations continue until stability is reached (ie the cluster assignments don't change between one iteration and the next).

* `appended_column_name=None`: If this value is set with a string, then a column will be appended to your data with the given name that contains the cluster assignments (which are integers from 0 to `k-1`). If this argument is not set, then you still have access to the clusters via the `clusters` attribute.

Once you've constructed a `KMeansPlusPlus` object, then just call the `cluster` method, and everything else should happen automagically. Take a look at the `examples` folder.

TODO:
----

* Add on features that take iterations of k-means++ clusters and compares them via, eg, concordance matrices, Jaccard indices, etc.

* Given a data frame, implement the so-called [Elbow Method](http://en.wikipedia.org/wiki/Determining_the_number_of_clusters_in_a_data_set#The_Elbow_Method) to take a stab at an optimal value for `k`.

* ~~Make this into a proper Python module that can be installed via pip.~~

* Python 3 compatibility (probably via six).
Repack 0.1.1
Repack is a collection of well known Python utilities nicely packed together.
License: MIT

.. image:: https://travis-ci.org/AlexPereverzyev/repack.svg
   :target: https://travis-ci.org/AlexPereverzyev/repack

==================
Welcome to Repack!
==================

Repack is a collection of well known utilities nicely packed together.
To illustrate the idea, imagine, you need to pass an object via URL query
string, with Repack it looks like::
    
    import repack

    token1 = (repack
                .json_encode()
                .bytify()
                .deflate()
                .base64_encode()
                .url_encode()        
                .converter()
                .send({'id': 10001, 'desc':'this is a token' }))

But normally, you would do::

    import json
    import zlib
    import base64
    import urllib.parse
    
    string = json.dumps({'id': 10001, 'desc':'this is a token' })
    stream = bytes(string, 'utf-8')
    stream = zlib.compress(stream)
    string = base64.b64encode(stream)
    token1 = urllib.parse.quote(string)

Feel the difference :) Also you want it to be lasy, so you can make a converter
once and use it later::

    urlit = (repack
                .json_encode()
                .bytify()
                .deflate()
                .base64_encode()
                .url_encode()        
                .converter())
                
Like this::

    token1 = urlit.send({'id': 10001, 'desc':'this is a token' })
    
Or like this::

    token2 = urlit.send('another token lol')    
    token3 = urlit.send('one more yay')
    token4 = urlit.send('yay!!!')

You can chain the utilities as filter, meaning, values interpreted as `False`
will not pass::

    with (repack
            .reverse()
            .printout()
            .filter()) as f:
            
        f.send('olleH')
        f.send(None)
        f.send('!dlroW')
        f.send(None)
        
Prints::

    Hello
    World!
    
Another example is iterator, which allows to set source later::

    with (repack
            .trim()
            .integer()
            .iterator()) as iterator:
            
        results = []
        for v in iterator.send(iter(['1 ','\t2', '\n3'])):
            results.append(v)
        
Results in::

    [1, 2, 3]

Or vice versa, using accumulator::

    with (repack
            .trim()
            .integer()
            .accumulator()) as acc:
        
        acc.send('1 ')
        acc.send('\t2')
        acc.send('\n3')
        
        results = []
        for v in acc:
            results.append(v)

The package is under development. Everyone is welcome to contribute.
For TODOs, please see the current TODO list in the root folder.

Requirements
============

- Python 3.4.2

Install
=======

sudo pip install repack 

Extension
=========

As easy as adding more filters to `filters/__init__.py` or more flows
to `flows/__init__.py`.