Metadata-Version: 2.1
Name: pymilvus
Version: 0.2.5
Summary: Python Sdk for Milvus
Home-page: https://github.com/milvus-io/pymilvus
License: Apache-2.0
Description: 
        # Milvus Python SDK -- pymilvus
        
        [![version](https://img.shields.io/pypi/v/pymilvus.svg?color=blue)](https://pypi.org/project/pymilvus/)
        [![license](https://img.shields.io/hexpm/l/plug.svg?color=green)](https://github.com/milvus-io/pymilvus/blob/master/LICENSE)
        
        Using Milvus python sdk for Milvus
        Download
        ---
        Pymilvus only supports `python >= 3.5`, is fully tested under 3.5, 3.6, 3.7.
        
        
        Pymilvus can be downloaded via `pip` or `pip3` for python3
        ```$
        $ pip install pymilvus
        ```
        Different versions of Milvus and lowest/highest pymilvus version supported accordingly
        
        |Milvus version| Recommended pymilvus version |
        |:-----:|:-----:|
        | 0.3.0 | 0.1.13|
        | 0.3.1 | 0.1.25|
        | 0.4.0 | 0.2.2 |
        | 0.5.0 | 0.2.3 |
        | 0.5.1 | 0.2.3 |
        | 0.5.2 | 0.2.3 |
        | 0.5.3 | 0.2.5 |
        
        
        You can download a specific version by:
        ```$
        $ pip install pymilvus==0.2.5
        ```
        
        If you want to upgrade `pymilvus` to newest version
        ```$
        $ pip install --upgrade pymilvus
        ```
        ## Import
        
        ```python
        from milvus import Milvus, IndexType, MetricType, Status
        ```
        
        ## Getting started
        
        Initial a `Milvus` instance and  `connect` to the sever
        
        ```python
        >>> milvus = Milvus()
        
        >>> milvus.connect(host='localhost', port='19530')
        Status(code=0, message='Successfully connected! localhost:19530')
        ```
        Once successfully connected, you can get the version of server
        
        ```python
        >>> milvus.server_version()
        (Status(code=0, message='Success'), '0.5.0')  # this is example version, the real version may vary
        ```
        ---
        
        Add a new `table`
        
        
        First set param
        ```python
        >>> dim = 32  # Dimension of the vector
        >>> param = {'table_name':'test01', 'dimension':dim, 'index_file_size':1024, 'metric_type':MetricType.L2}
        ```
        Then `create table`
        ```python
        >>> milvus.create_table(param)
        Status(code=0, message='Create table successfully!')
        ```
        
        Describe the table we just created
        ```python
        >>> milvus.describe_table('test01')
        (Status(code=0, message='Describe table successfully!'), TableSchema(table_name='test01', dimension=32, index_file_size=1024, metric_type=<MetricType: L2>))
        ```
        
        ---
        
        Add vectors into table `test01`
        
        First create 20 vectors of 256-dimension.
        
        - Note that `random` and `pprint` we used here is for creating fake vectors data and pretty print, you may not need them in your project
        
        ```python
        >>> import random
        >>> from pprint import pprint
        
        # Initialize 20 vectors of 256-dimension
        >>> vectors = [[random.random() for _ in range(dim)] for _ in range(20)]
        ```
        
        Then add vectors into table `test01`
        ```python
        >>> status, ids = milvus.insert(table_name='test01', records=vectors)
        >>> print(status)
        Status(code=0, message='Add vectors successfully!')
        >>> pprint(ids) # List of ids returned
        [1571123848227800000,
         1571123848227800001,
            ...........
         1571123848227800018,
         1571123848227800019]
        ```
        You can also specify vectors id
        ```python
        >>> vector_ids = [i for i in range(20)]
        >>> status, ids = milvus.insert(table_name='test01', records=vectors, ids=vector_ids)
        >>> pprint(ids)
        [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
        ```
        Get vectors num
        ```python
        >>> milvus.count_table('test01')
        (Status(code=0, message='Success!'), 20)
        ```
        ---
        Load vectors into memory
        ```python
        >>> milvus.preload_table('test01')
        Status(code=0, message='')
        ```
        ---
        Create index
        ```python
        >>> index_param = {'index_type': IndexType.FLAT, 'nlist': 128}
        >>> milvus.create_index('test01', index_param)
        Status(code=0, message='Build index successfully!')
        ```
        Then show index information
        ```python
        >>> milvus.describe_index('test01')
        (Status(code=0, message='Successfully'), IndexParam(_table_name='test01', _index_type=<IndexType: FLAT>, _nlist=128))
        ```
        ---
        Search vectors
        
        ```python
        # create 5 vectors of 256-dimension
        >>> q_records = [[random.random() for _ in range(dim)] for _ in range(5)]
        ```
        
        Then get results
        ```python
        >>> status, results = milvus.search(table_name='test01', query_records=q_records, top_k=1, nprobe=16)
        >>> print(status)
        Status(code=0, message='Search vectors successfully!')
        >>> pprint(results) # Searched top_k vectors
        [
        [(id:15, distance:2.855304718017578),
         (id:16, distance:3.040700674057007)],
        [(id:11, distance:3.673950433731079),
         (id:15, distance:4.183730602264404)],
              ........
        [(id:6, distance:4.065953254699707),
         (id:1, distance:4.149323463439941)]
        ]
        ```
        ---
        Drop index
        ```python
        >>> milvus.drop_index('test01')
        Status(code=0, message='')
        ```
        ---
        Delete the table we just created
        
        ```python
        >>> milvus.drop_table(table_name='test01')
        Status(code=0, message='Delete table successfully!')
        ```
        Disconnect with the server
        ```python
        >>> milvus.disconnect()
        Status(code=0, message='Disconnect successfully')
        ```
        
        ---
        
        ## Example python
        There are some small examples in `examples/`, you can find more guide there.
        
        You can find api doc in [API文档](https://milvus-io.github.io/milvus-sdk-python/pythondoc/index.html)
        
        
        
        If you encounter any problems or bugs, please open new issues
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.5
Description-Content-Type: text/markdown
