Metadata-Version: 1.1
Name: hubbypy
Version: 0.1.4
Summary: A Python wrapper for the HubSpot contacts and contact properties API
Home-page: https://github.com/gojefferson/hubbypy
Author: Jeff Kerr
Author-email: jeff@casefleet.com
License: BSD
Description: # HubbyPy
        
        `HubbyPy` is a wrapper for HubSpot's contact properties and contacts API. It is particularly useful for web applications where you want to sync information about your users with HubSpot.
        
        ## Getting Set Up
        
        ```python
        hs_user_property_manager = UserPropertyManager(
            groups=[
                {
                    'name': 'your_org',
                    'displayName': 'Your API Data'
                }
            ]
        )
        
        hubspot = HubSpot(
            api_key='add your key here',
            user_property_manager=hs_user_property_manager
        )
        ```
        
        ## Accessor Properties
        
        ```python
        hs_user_property_manager.add_prop(
            AccessorProperty(
                name='email',
                native_type='varchar',
                accessor='email',
                built_in=True
            )
        )
        
        hs_user_property_manager.add_prop(
            AccessorProperty(
                name='your_org_company_id',
                label='Your Company: Account id',
                group_name='your_org',
                native_type='varchar',
                accessor='company.id'
            )
        )
        
        hs_user_property_manager.add_prop(
            AccessorProperty(
                name='your_org_current_period_end',
                label='Your Company: Subscription End',
                group_name='your_org',
                native_type='datetime',
                accessor='company.stripe_customer.current_subscription.current_period_end'
            )
        )
        ```
        
        ## Function Properties
        ```python
        hs_user_property_manager.add_prop(
            FunctionProperty(
                name='your_org_last_sync',
                label='Company: Last Sync',
                group_name='your_org',
                native_type='datetime',
                func=timezone.now,
                send_user=False
            )
        )
        
        
        def get_user_lifecycle_stage(user):
            try:
                if user.company and user.company.stripe_customer.current_subscription.is_trialing:
                    return 'opportunity'
                if user.company and user.company.stripe_customer.current_subscription.status == 'active':
                    return 'customer'
            except AttributeError as err:
                logger.error('[HUBSPOT] could not get subscription, error: {}'.format(err))
            return 'lead'
        
        
        hs_user_property_manager.add_prop(
            FunctionProperty(
                name='lifecyclestage',
                native_type='varchar',
                func=get_user_lifecycle_stage,
                send_user=True,
                built_in=True
            )
        )
        ```
        
        ## Constant Properties
        ```python
        # Constant Properties
        hs_user_property_manager.add_prop(
            ConstantProperty(
                name='your_org_created_by_you',
                label='Your Company: Our App Created',
                group_name='your_org',
                native_type='bool',
                value=True
            )
        )
        ```
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
