Metadata-Version: 2.1
Name: blueshift
Version: 1.0.0
Summary: Quickly create large amounts of unique serial numbers.
Home-page: https://github.com/mckkaleb/blueshift
Author: Kaleb McKinney
License: UNKNOWN
Download-URL: https://github.com/mckkaleb/blueshift/archive/1.0.0.tar.gz
Description: # blueshift
        
        Quickly create large amounts of unique serial numbers.  
        Forked from [JosephTLyons/andromeda](https://github.com/JosephTLyons/andromeda)
        
        ## Installation
        
        Install blueshift with pip: 
        ```pip install blueshift```
        
        Or, download blueshift [here](https://github.com/mckkaleb/blueshift/archive/0.0.2.tar.gz)
        
        ## Usage
        
        To use blueshift in your projects, import it like this:
        ```python
        from blueshift import generate, get_serials #or just 'import blueshift'
        ```
        
        ## Creating Unique Serial Numbers
        
        Using blueshift is very easy and simple. There are only two functions you need to know to start using blueshift. These functions are:
        - `generate()`
        - `get_serials()`
        
        #### Using generate
        
        Using `generate()` is very simple.
        
        Simply call the `generate()` function
        ```python
        #your code
        generate(10, 10) # generate() has two mandatory parameters: number_of_serials, length_of_serials
        #more of your code
        ```
        `generate()` takes two mandatory parameters, `number_of_serials` (the number of serials you want to generate) and `length_of_serials` (how many characters you want each to contain), as well as some optional parameters which control which types of character that the serials will contain. The optional parameters are:
        - `use_numbers` controls if there will be numbers in the serials
        - `use_lowercase` controls if there will be lowercase letters in the serials
        - `use_uppercase` controls if there will be uppercase letters in the serials
        - `use_symbols` controls if there will be symbols in the serials
        
        For example, if you wanted to have serials that do not contain symbols, then you would call the `generate()` function like this:
        ```python
        generate(10, 10, use_symbols=False)
        ```
        In this example, 10 serials which contained 10 characters would be produced.
        
        #### Using get_serials
        
        `get_serials()` takes no parameters. It only returns the serials created by `generate()`
        
        Example:
        ```python 
        generate(10, 10)
        get_serials()
        ```
        In this example, `generate()` was called to create 10 serials with 10 characters in them. Then `get_serials()` was called to return the serials in an array.
        
        ## Pitfalls to be Aware of
        
        bluehift does not care if you choose settings that result in a very low pool of
        license combinations.  You should be aware of this.  If you run `generate()`
        with the following options:
        
        ```python
        generate(1000, 4, use_uppercase=False, use_lowercase=False, use_symbols=False)
        ```
        
        the output will be:
        
        ```python
        ['9444', '9474','9494','9464','9484','9434','9424','9404','9414','9454','9244','9274','9294','9264','9284',
        '9234', ...]
        ```
        
        Notice that the licenses are fairly similar.  Also, note that it would be fairly
        easy to guess a serial number.  The probability that a random guess would be an
        actual serial number is `1000/(10^4) = 0.1`.  It is up to the user to understand
        this and adjust the settings to increase the complexity of the output and
        decrease the chances of guessing a license number.  Using the example from
        earlier with `1000` serial numbers of length `20` using all symbols, the
        probability that a random guess would be an actual serial number is
        `1000/(62^20) = 1.4196007e-33`.
        
Platform: UNKNOWN
Requires-Python: >=3.4
Description-Content-Type: text/markdown
