Metadata-Version: 2.1
Name: ploomes-api-client
Version: 0.2.110
Summary: Python client for the Ploomes API
Home-page: https://github.com/victorfigueredo/ploomes-api-client
Author: Victor Figueredo
Author-email: cto@filterfeed.com.br
License: UNKNOWN
Description: # Ploomes API Python Client
        
        This package provides a simple Python client for interacting with the [Ploomes API](https://developers.ploomes.com/), designed with rate-limiting and exponential backoff strategies for improved resilience.
        
        ## Installation
        
        You can install the package from PyPI:
        
        ```bash
        pip install ploomes-api-client
        ```
        
        ## Basic Usage
        
        ### Contact Management
        
        To manage contacts, first import the necessary classes and initialize them:
        
        ```python
        from ploomes_client import PloomesClient as Ploomes
        from ploomes_client.collections.contacts import Contacts
        ```
        
        #### Initialize PloomesClient and Contacts Class
        
        ```python
        ploomes = Ploomes(api_key='your_api_key_here')
        contacts = Contacts(ploomes)
        ```
        
        #### Creating a New Contact with Expanded Fields
        
        Here is a synthetic example to demonstrate how to create a new contact with expanded `Phones` and `OtherProperties`:
        
        ```python
        # Define the payload for the new contact
        payload = {
            "Name": "Jane Doe",
            "Email": "janedoe@example.com",
            "Phones": [
                {"PhoneNumber": "1234567890", "Type": "Mobile"}
            ],
            "OtherProperties": {"FavoriteColor": "Blue", "Occupation": "Engineer"}
        }
        
        # Create the contact
        response_json = contacts.post_contact(payload, expand="Phones,OtherProperties")
        ```
        
        In this example, the `post_contact` method sends a POST request to create a new contact in Ploomes. The `payload` dictionary contains the data for the new contact, including fields like `Name`, `Email`, `Phones`, and `OtherProperties`. We also use the `expand` parameter to expand the `Phones` and `OtherProperties` fields.
        
        By default, the `post_contact` method will return a JSON-formatted string as the response.
        
        ## Contributing
        
        Contributions are welcome! Please feel free to submit a Pull Request.
        
        # Uploading to PyPI with Two-Factor Authentication
        
        1. Generate an API token for your PyPI account:
        
           - Go to the [PyPI account settings page](https://pypi.org/manage/account/token/) and log in.
           - Scroll down to the "API Tokens" section and click "Add API Token."
           - Provide a description for the token and click "Generate."
           - Copy the generated token.
        
        2. Upload your package using the API token:
        
           - Open your terminal.
           - Navigate to your package directory.
           - Build the distribution files:
        
             ```bash
             python setup.py sdist bdist_wheel
             ```
        
           - Upload the distribution files using the `twine` tool and the generated API token:
        
             ```bash
             twine upload --verbose dist/* -u __token__ -p <API_TOKEN>
             ```
        
           Replace `<API_TOKEN>` with the copied API token.
        
        3. Verify the upload:
        
           - Check the PyPI project page to ensure your new version is listed.
        
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown
