Saravanan666/pypi-org huggingface dataset:
Package: affectivecloud
Enter Affective Cloud SDK For PCIntroductionEnter Affective Cloud SDK For PC is provided byEnter Technology, designed to work with Enter Technology's Bluetooth chip and the Affective Cloud platform. This SDK is developed in Python and can run on macOS, Linux, and Windows.Installationpip install affectivecloudFeaturesAccess Bluetooth data (enterble)Connect to the Affective Cloud serverCall the Affective Computing serviceReceive data from the Affective Computing serviceUsageSeeexamplessimpleheadband Demoheadband Demo GUI VersionNoteDevice-relatedEach type of device has a different name. When using the demo, please use the corresponding name or do not specify a name. If no name is specified, all devices under the same UUID will be enumerated.Development EnvironmentThe SDK by default supports Python runtime environments of version >= 3.6 and < 3.10; if you need to use versions above 3.10, please upgrade the websockets dependency package to version >= 10.0.Environment VariablesWhen using the demo, you need to set the environment variables:APP_KEYAPP_SECRETCLIENT_IDFor details, refer to:Authenticate and create a session
Package: affinder
affinderQuickly find the affine matrix mapping one image to another using manual correspondence points annotationThisnapariplugin was generated withCookiecutterusing with@napari'scookiecutter-napari-plugintemplate.InstallationYou can installaffinderviapip:pip install affinderContributingContributions are very welcome. Tests can be run withtox, please ensure
the coverage at least stays the same before you submit a pull request.LicenseDistributed under the terms of theBSD-3license,
"affinder" is free and open source softwareIssuesIf you encounter any problems, pleasefile an issuealong with a detailed description.
Package: affine
Matrices describing 2D affine transformation of the plane.The Affine package is derived from Casey Duncan’s Planar package. Please see
the copyright statement inaffine/__init__.py.UsageThe 3x3 augmented affine transformation matrix for transformations in two
dimensions is illustrated below.| x' |   | a  b  c | | x |
| y' | = | d  e  f | | y |
| 1  |   | 0  0  1 | | 1 |Matrices can be created by passing the valuesa, b, c, d, e, fto theaffine.Affineconstructor or by using itsidentity(),translation(),scale(),shear(), androtation()class methods.>>>fromaffineimportAffine>>>Affine.identity()Affine(1.0, 0.0, 0.0,
       0.0, 1.0, 0.0)>>>Affine.translation(1.0,5.0)Affine(1.0, 0.0, 1.0,
       0.0, 1.0, 5.0)>>>Affine.scale(2.0)Affine(2.0, 0.0, 0.0,
       0.0, 2.0, 0.0)>>>Affine.shear(45.0,45.0)# decimal degreesAffine(1.0, 0.9999999999999999, 0.0,
       0.9999999999999999, 1.0, 0.0)>>>Affine.rotation(45.0)# decimal degreesAffine(0.7071067811865476, -0.7071067811865475, 0.0,
       0.7071067811865475, 0.7071067811865476, 0.0)These matrices can be applied to(x, y)tuples to obtain transformed
coordinates(x', y').>>>Affine.translation(1.0,5.0)*(1.0,1.0)(2.0, 6.0)>>>Affine.rotation(45.0)*(1.0,1.0)(1.1102230246251565e-16, 1.414213562373095)They may also be multiplied together to combine transformations.>>>Affine.translation(1.0,5.0)*Affine.rotation(45.0)Affine(0.7071067811865476, -0.7071067811865475, 1.0,
       0.7071067811865475, 0.7071067811865476, 5.0)Usage with GIS data packagesGeoreferenced raster datasets use affine transformations to map from image
coordinates to world coordinates. Theaffine.Affine.from_gdal()class
method helps convertGDAL GeoTransform,
sequences of 6 numbers in which the first and fourth are the x and y offsets
and the second and sixth are the x and y pixel sizes.Using a GDAL dataset transformation matrix, the world coordinates(x, y)corresponding to the top left corner of the pixel 100 rows down from the
origin can be easily computed.>>>geotransform=(-237481.5,425.0,0.0,237536.4,0.0,-425.0)>>>fwd=Affine.from_gdal(*geotransform)>>>col,row=0,100>>>fwd*(col,row)(-237481.5, 195036.4)The reverse transformation is obtained using the~operator.>>>rev=~fwd>>>rev*fwd*(col,row)(0.0, 99.99999999999999)
Package: affine6p
The Python affine6p lib is to estimate affine transformation parameters between two sets of 2D points.:| x' |   | a  b  p | | x |
| y' | = | c  d  q | | y |
| 1  |   | 0  0  1 | | 1 |When the sets are more than three points, the lib estimate parameters with the least squares method.In making this lib, I used a lot of ideas in nudged lib. Ref:https://github.com/axelpale/nudged-pyInstallUse pip:pip install affine6pUsageYou have lists of points for theoriginalandconvertedof the transformation function to be estimated:import affine6p
origin = [[0,0], [1,0], [0,1], [1,1]]
convert = [[0,0], [1,0], [0,1], [1,1.1]]
trans = affine6p.estimate(origin, convert)
trans.get_matrix()
# [[1.0, 0.0, 0.0],
# [0.050000000000000044, 1.05, -0.02499999999999991],
# [0, 0, 1]]
affine6p.estimate_error(trans, origin, convert)
# 0.025000000000000022When the number of origin is1, assume the following relationship:a = d = 1 and b = c = 0When the number of origin is2, assume the following relationship as described inestimate_helmert.:a = d and b = -cYou can accessTransform class members.:trans.a() # params[0]
trans.b() # params[1]
trans.c() # params[2]
trans.d() # params[3]
trans.p() # params[4]
trans.q() # params[5]
trans.get_matrix() # [[a, b, p], [c, d, q], [0, 0, 1]]
trans.get_rotation_x() # math.atan2(-b, a)
trans.get_rotation_y() # math.atan2(c, d)
trans.get_scale_x() # sqrt(a*a + b*b)
trans.get_scale_y() # sqrt(c*c + d*d)
trans.get_scale() # sqrt((scale_x*scale_x+scale_y*scale_y)*0.5)
trans.get_translation() # [p, q]
trans.params # [a, b, c, d, p, q]You can applytransformorrotateto 2D point or points. The rotate meansp = q = 0.:trans.transform([0, 0])
trans.transform([[0, 0], [1, 1]])
point = [0, 0]
trans.transform_inv(point)
trans.rotate(point)
trans.rotate_inv(point)
Package: affine6p-cstest
The Python lib to estimate affine transformation parameters between two sets of 2D points.:| x' |   | a  b  p | | x |
| y' | = | c  d  q | | y |
| 1  |   | 0  0  1 | | 1 |When the sets are more than three points, the lib estimate parameters with the least squares method.In making this lib, I used a lot of ideas in nudged lib. Ref:https://github.com/axelpale/nudged-pyInstallUse pip:pip install affine6pUsageYou have lists of points for theoriginalandconvertedof the transformation function to be estimated:import affine6p
origin = [[0,0], [1,0], [0,1], [1,1]]
convert = [[0,0], [1,0], [0,1], [1,1.1]]
trans = affine6p.estimate(origin, convert)
trans.get_matrix()
# [[1.0, 0.0, 0.0],
# [0.050000000000000044, 1.05, -0.02499999999999991],
# [0, 0, 1]]
affine6p.estimate_error(trans, origin, convert)
# 0.025000000000000022When the number of origin is1, assume the following relationship:a = d = 1 and b = c = 0When the number of origin is2, assume the following relationship as described inestimate_helmert.:a = d and b = -cYou can accessTransform class members.:trans.a() # params[0]
trans.b() # params[1]
trans.c() # params[2]
trans.d() # params[3]
trans.p() # params[4]
trans.q() # params[5]
trans.get_matrix() # [[a, b, p], [c, d, q], [0, 0, 1]]
trans.get_rotation_x() # math.atan2(-b, a)
trans.get_rotation_y() # math.atan2(c, d)
trans.get_scale_x() # sqrt(a*a + b*b)
trans.get_scale_y() # sqrt(c*c + d*d)
trans.get_scale() # sqrt((scale_x*scale_x+scale_y*scale_y)*0.5)
trans.get_translation() # [p, q]
trans.params # [a, b, c, d, p, q]You can applytransformorrotateto 2D point or points. The rotate meansp = q = 0.:trans.transform([0, 0])
trans.transform([[0, 0], [1, 1]])
point = [0, 0]
trans.transform_inv(point)
trans.rotate(point)
trans.rotate_inv(point)
Package: affine-transform
This project explores how C++17 and OpenMP can be combined to write a
surprisingly compact implementation of n-dimensional parallel affine
transformations which are linked into Python via theaffine_transformmodule.While this project is still under development, the following features
are supported:Linear and cubic (without prefiltering) interpolationConstant boundariesCompiling code for arbitrarily dimensional dataParallelism via OpenMPArbitrary shaped output arrays, allowing e.g. to only extract a transformed sliceShort example usageimportnumpyasnpfromaffine_transformimporttransformfrommgenimportrotation_from_angle# Create a simple white square in an imageoriginal=np.zeros((601,401))original[100:300,100:300]=1# Rotate by 22.5° (around the centre of the square (200,200))# and shift +200 in x and +100 in ytransformed=transform(original,rotation_from_angle(np.pi/8),np.array([200,100]),origin=(200,200))
Package: affinidi.common-check-widget-backend-lib
@affinidi/common-check-widget-backend-libAn common-check-widget-backend-lib package authored in TypeScript that gets published as GitHub packages for Node.js, Python etcLicenseThis library is licensed under the MIT-0 License. See the LICENSE file.Documentationshttps://common-check-widget-backend-lib.affinity-project.org/
Package: affinitic.caching
IntroductionChangelog0.7.1 (2016-06-03)Testing layer that avoids caching
[gotcha]0.7 (2016-06-03)Enable/disable caching via python or browser view
[gotcha]0.6.2 (2016-05-25)Add environment variable to set default cache lifetime
[jfroche]Fix dependencies storage
[jfroche]0.6.1 (2015-09-22)Use advanced dict to allow getattr on cached rowproxy refs #7577
[schminitz]0.6 (2014-10-22)Allow to invalidate dependencies0.5 (2014-08-26)Move memcache utility to overrides zcmlDelegate the namespace definition to a utility and cache the namespace calculationMake sqlalchemy a soft dependency0.4 (2013-02-22)Optimizes the caching functions.Adds two decorators who clears the cache before or after a function.Adds a function to clear a specific cache.Adds a function to invalidate a specific key in the cache.0.3 (2013-02-13)Change name from arsia.caching to affinitic.caching0.2 (2011-02-22)Fix dependencies0.1 (2010-11-01)Initial release
Package: affinitic.docpyflakes
IntroductionCheck your doctest for various errors. Depends on pyflakes (http://pypi.python.org/pypi/pyflakes).Usage example:docpyflakes yourdoctext.txtThis package has an entry point for buildout to create a script via:[buildout]
parts = ...
        scripts

[scripts]
recipe = zc.recipe.egg:scripts
eggs = affinitic.docpyflakesVIMMy vim configuration integration to run docpyflakes while I am working on my doctest and handle errors quickly:fun! PyflakesForDocTest()
    let tmpfile = tempname()
    execute "w" tmpfile
    execute "set makeprg=(docpyflakes\\ " . tmpfile . "\\\\\\|sed\\ s@" . tmpfile ."@%@)"
    make
    cw
    redraw!
endfun

autocmd BufWrite *.{txt} :call PyflakesForDocTest()EMACSLearn VIMChangelog0.1 (2010-02-19)Initial release
Package: affinitic.privatefolder
This products allows you to add folders with only a ‘Private’ state.
You can create a simple Extranet with only this folder and the sharing tab.FeaturesAdds PrivateFolder content typeAdds privatefolder_workflow workflow (with Private state)TranslationsThis product has been translated intoFrenchInstallationInstall affinitic.privatefolder by adding it to your buildout:[buildout]

...

eggs =
    affinitic.privatefolderand then runningbin/buildoutContributeIssue Tracker:https://github.com/affinitic/affinitic.privatefolder/issuesSource Code:https://github.com/affinitic/affinitic.privatefolderLicenseThe project is licensed under the GPLv2.CreditsThis package was developed byAffinitic team.affinitic.privatefolderis licensed under GNU General Public License, version 2.ContributorsLaurent Lasudry,laurent.lasudry@affinitic.beChangelog1.0 (2020-01-21)Initial release.
[laulaz]
Package: affinitic.recipe.fakezope2eggs
Zope 2 isn’t eggified yet, Zope 3 does. That can become a problem if you want to
install some egg with depedencies related to Zope 3 eggs (such as zope.interface,
zope.component, …)This buildout recipe will simply add some fake egg link to zope libraries (installed
inside zope/lib/python/zope/…) so that setuptools can see that the dependencies are
already satisfied and it won’t fetch them anymore.Just add it to your buildout config like this:[buildout]

parts =
    ... your other parts ...
    fakezope2eggs

[fakezope2eggs]
recipe = affinitic.recipe.fakezope2eggsBe careful to run this recipe after the plone.recipe.zope2install recipe.You might also want to add other fake eggs to your buildout, to do so use the
additional-fake-eggs option, for example:[buildout]

parts =
    ... your other parts ...
    fakezope2eggs

[fakezope2eggs]
recipe = affinitic.recipe.fakezope2eggs
additional-fake-eggs = ZODB3
Package: affinitic.simplecookiecuttr
affinitic.simplecookiecuttrBasic integration ofjquery.cookiecuttr.jsfor
Plone 3.If you want jquery.cookiecuttr.js integration for Plone 4, please considercollective.cookiecuttr.OptionsOptions are stored inportal_properties/affinitic_simplecookiecuttrsheet. You can enable / disable the warning and add any language there.French is supported by default.CreditsThis package was developed byAffinitic team.affinitic.simplecookiecuttris licensed under GNU General Public License, version 2.Changelog0.1 (2015-03-25)Initial release
Package: affinitic.smartweb
An agnostic version of IMIO SmartwebFeaturesCan be bullet pointsExamplesThis add-on can be seen in action at the following sites:
- Is there a page on the internet where everybody can see the features?DocumentationFull documentation for end users can be found in the “docs” folder, and is also available online at …TranslationsThis product has been translated intoFrenchInstallationInstall affinitic.smartweb by adding it to your buildout:[buildout]

...

eggs =
    affinitic.smartweband then runningbin/buildoutContributeIssue Tracker:http://git.affinitic.be/affinitic-addons/affinitic.smartweb/issuesSource Code:http://git.affinitic.be/affinitic-addons/affinitic.smartwebSupportIf you are having issues, please let us know.LicenseThe project is licensed under the GPLv2.ContributorsAffinitic,support@affinitic.beChangelog1.0.0a13 (2024-02-20)Add links to item title and image in mini-list template section
[jchandelle]Add plone.footer viewlet
[jchandelle]Add mini-list template for section
[jchandelle]Add hook for publication import
[jchandelle]1.0.0a12 (2024-02-19)Add allowed_content_types to LRF
[jchandelle]Add plone.translatable behavior to default smartweb type
[jchandelle]Add links to item title and image in list template section
[jchandelle]Add hook for collage in import document
[jchandelle]Allow news and events sections in portal page
[laulaz]1.0.0a11 (2023-11-08)Fix Remove unfinished behavior from configure
[jchandelle]Add behavior to section to select a image scale
[jchandelelle]1.0.0a10 (2023-11-02)Fix “/” in type declaration
[jchandelle]Change i18n domain on types
[jchandelle]Fix i18n for event macro
[jchandelle]Fix i18n for see more button
[jchandelle]1.0.0a9 (2023-10-19)Fix Event and News container creation
[jchandelelle]1.0.0a8 (2023-10-19)Compile Ressources and remove dist from gitignore
[jchandelle]1.0.0a7 (2023-10-19)Add bundels and hide workshop button
[jchandelle]Fix event and news creation
[jchandelelle]Add option to choose interface in check folder
[jchandelle]Change publish date location
[jchandelle]1.0.0a6 (2023-09-15)Fix collection section view
[jchandelle]1.0.0a5 (2023-09-08)Fix event and news default layout
[jchandelle]1.0.0a4 (2023-09-07)Update and fix types
[jchandelle]Fix adding new and event folder
[jchandelle]1.0.0a3 (2023-08-18)Add ownership to event and news type
[jchandelle]1.0.0a2 (2023-08-18)Modfiy Smartweb type behavior
[jchandelle]Fix section duplication when reimporting data
[jchandelle]Fix missing section files
[jchandelle]Remove iam from types behavior
[jchandelle]Fix for missing title and too long description
[jchandelle]1.0.0a1 (2023-04-25)Locals
[jchandelle]Add multilangual dependencies
[jchandelle]Fix removing default folder
[jchandelle]Add back portlet support
[jchandelle]Add Event and News type
[jchandelle]Remove CirkwiView type
[jchandelle]Add custom hook for migration
[jchandelle]Remove default dependencies from imio smartweb
[Nicolas]Initial release.
[Affinitic]
Package: affinitic.zamqp
This package defines basic components of a Messaging Gateway integrated inside Zope using AMQP.Zope Component Architecture (ZCA) is about loosely coupled design in an Application.
AMQP is about loosely coupled communication between Applications. This package tries to join the two.Documentation:http://docs.affinitic.be/affinitic.zamqpCode Repository:http://bitbucket.org/jfroche/affinitic.zamqpBuildbot:http://buildbot.affinitic.be/builders/affinitic.zamqp%20linux_debian/Test Coverage:http://coverage.affinitic.be/affinitic.zamqp/affinitic.zamqp.htmlChangelog0.6 (2011-06-14)Nothing changed yet.0.5 (2011-06-09)Also compatible with Zope 2.10/2.110.4 (2011-06-09)Change transactionmanager order to be the very last one0.3 (2011-02-22)Fix for Zope 2.130.2 (2010-10-19)Abort transaction correctly on error - send error to utility if availableAdd multithreaded consumer (default to 1)0.1 (2010-03-20)Initial release
Package: affirm-pay
Affirm Python SDKAffirm Python SDK is a client library to interact withAffirm. For API reference:https://docs.affirm.com/Integrate_Affirm/Direct_API/Affirm_API_ReferenceAffirm helps customers to pay over time for things they want to buy. The customers are in control of how long you get to make monthly payments. They do the approval process in minutes. This client will help you integrate with Affirm.UsageClient Creationfrom affirm import Client
client = Client(auth=(<PUBLIC_API_KEY>, <PRIVATE_API_KEY>))Performing Authorizefrom affirm import Client
client = Client(auth=(<PUBLIC_API_KEY>, <PRIVATE_API_KEY>))
resp = client.charge.create(data={"checkout_token":<CHECKOUT_TOKEN_FROM_AFFIRM>, "order_id": <YOUR_GENERATED_ORDER_ID>)Performing Capturefrom affirm import Client
client = Client(auth=(<PUBLIC_API_KEY>, <PRIVATE_API_KEY>))
resp = client.charge.capture(charge_id = <CHARGE_ID>, order_id=<YOUR_GENERATED_ORDER_ID>)Performing Refundfrom affirm import Client
client = Client(auth=(<PUBLIC_API_KEY>, <PRIVATE_API_KEY>))
resp = client.charge.capture(charge_id = <CHARGE_ID>, order_id= <YOUR_GENERATED_ORDER_ID>)Perform Updatefrom affirm import Client
client = Client(auth=(<PUBLIC_API_KEY>, <PRIVATE_API_KEY>))
resp = client.charge.update(charge_id = <CHARGE_ID>, order_id": <YOUR_GENERATED_ORDER_ID>)Perform Voidfrom affirm import Client
client = Client(auth=(<PUBLIC_API_KEY>, <PRIVATE_API_KEY>))
resp = client.charge.void(charge_id=<CHARGE_ID>, order_id=<YOUR_GENERATED_ORDER_ID>)Using the client for Production(or live)The only change you need to make pass aprodkeyward while to client creation step.from affirm import Client
client = Client(auth=(<PUBLIC_API_KEY>, <PRIVATE_API_KEY>), prod=True)If you have any questions please shoot a mail to anshul[dot]jmi[at]gmail[dot]com.
Package: affliction
afflictionwelcome to affliction.  provides synchronous clients, based on deceit,
for interacting with the microsoft graph api and the exchange management
rest api.  please be mindful that the exchange rest api is (still, as of 2023
after more than three years) in beta, and these apis are not currently published.this means that the exchange rest api will likely change between the time
that this library is published and the time the exchange management rest api
is officially released.powered by angry penguins.graph clientto use the graph client, you use theaffliction.graph_client.SynchronousGraphClientclass.  there are a few pre-defined endpoints for now forusersandsubscribedSkus.fromaffliction.graph_clientimportSynchronousGraphClientclient=SynchronousGraphClient(tenant_id='01234567-000...',client_id='01234567-000...',client_secret='secret generated from azure app registration',)users=client.get_users(params={'$search':'"displayName:alice"',})documentation for theusers endpointis available from micrososft.  other documents provide a more fulsome
description of theavailable odata parametersexchange clientto use the exchange client, instantiateaffliction.exchange_client.ExchangeClientuse the mailboxes endpoint with$filteror$searchodata semantics just
like you would with the graph api.fromaffliction.exchange_clientimportExchangeClientclient=ExchangeClient(tenant_id='01234567-00...',client_id='01234567-00...',client_secret='app secret from azure app registration with Exchange.ManageAsApp permissions')mailboxes=client.mailboxes(params={'$search':'"displayName:catsareawesome"',})recipients=client.recipients(params={'$filter':'LitigationHoldEnabled eq True',})hat tip to Vasil Michev who got us started down this path:https://www.michev.info/blog/post/2869/abusing-the-rest-api-endpoints-behind-the-new-exo-cmdletsto see how to add the requiredManageAsApppermission, please feel free to
reference this link:https://4sysops.com/archives/connect-to-exchange-online-with-powershell-and-certificate-based-authentication/
Package: affnine-deltaleaf
Affnine deltaleafEasy way to create MAP (Undirected Graph)and find shortest path from one Node to another.InstallationUse the package managerpipto install foobar.pipinstallaffnine-deltaleafQuick startimportaffnine_deltaleafnewMap=afn_spf.deltaLeaf()#create a object of affnine deltaleafnewMap.editNameOfTheMap("Miramar")#assign a name to the mapnewMap.updateDistance("A","B",1.1)# Distance from one node to anothernewMap.updateDistance("A","D",2)newMap.updateDistance("A","E",4)newMap.updateDistance("B","E",2)newMap.updateDistance("C","E",1)newMap.updateDistance("C","D",5)newMap.updateDistance("D","F",3)newMap.updateDistance("E","F",3.4)newMap.updateDistance("F","A",3)newMap.updateDistance("G","B",3)newMap.updateDistance("H","A",3)newMap.updateDistance("I","C",3)newMap.updateDistance("J","B",3)newMap.updateDistance("K","E",3)print(newMap.finder('A','E')).# Find shortest distance and# path between two nodesOutput:ContributingPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.Please make sure to update tests as appropriate.LicenseMIT
Package: affo-deeplink
AFFO DeeplinkVersion1.0.1Webhttps://affo.io/Downloadhttps://pypi.org/affoio/affo-deeplink/Sourcehttps://github.com/affoio/affo-deeplink/Keywordspython, deeplink, service, affiliateInstallationpip install affo-deeplinkTestsTo run the test suite execute the following command in package root
folder:python setup.py test
Package: affo-email-client
AFFO Email ClientA simple python interface for the email service.InstallationVersion1.0.1Webhttps://affo.io/Downloadhttps://pypi.org/affoio/affo-email-client/Sourcehttps://github.com/affoio/affo-email-client/Keywordspython, email, service, clientpip install python-email-clientUsageThe example below shows how you get an informimportaffo_email_clientclient=affo_email_client.Client(api_root_url="https://localhost/api/v1.0/")client.message.create(body={"from_":"from@example.com","to":["to@example.com"],"subject":"Hello","html":"","text":"","tag":"test"})
Package: affo-email-service
AFFO Email ServiceVersion1.0.3Webhttps://affo.io/Downloadhttps://pypi.org/affoio/affo-email-service/Sourcehttps://github.com/affoio/affo-email-service/Keywordspython, email, serviceInstallationpip install affo-email-serviceTestsTo run the test suite execute the following command in package root
folder:python setup.py test
Package: affo-event-service
AFFO Event ServiceVersion1.0.1Webhttps://affo.io/Downloadhttps://pypi.org/affoio/affo-event-service/Sourcehttps://github.com/affoio/affo-event-service/Keywordspython, email, serviceInstallationpip install affo-event-serviceTestsTo run the test suite execute the following command in package root
folder:python setup.py test
Package: affo-sms-service
AFFO SMS ServiceVersion1.0.5Webhttps://affo.io/Downloadhttps://pypi.org/affoio/affo-sms-service/Sourcehttps://github.com/affoio/affo-sms-service/Keywordspython, sms, serviceInstallationpip install affo-sms-serviceTestsTo run the test suite execute the following command in package root
folder:python setup.py test
Package: affo-user-service
AFFO User ServiceVersion1.0.4Webhttps://affo.io/Downloadhttps://pypi.org/affoio/affo-user-service/Sourcehttps://github.com/affoio/affo-user-service/Keywordspython, user, serviceInstallationpip install affo-user-serviceTestsTo run the test suite execute the following command in package root
folder:python setup.py test