Saravanan666/pypi-org huggingface dataset:
Package: mockcache
The Python dictionary-based mock memcached client library. It does not
connect to any memcached server, but keeps a dictionary and stores every cache
into there internally. It is a just emulated API of memcached client only for
tests. It implements expiration also. NOT THREAD-SAFE.try:
    import memcache
except ImportError:
    import warnings
    import mockcache as memcache
    warnings.warn("imported mockcache instead of memcache; cannot find "
                  "memcache module")

mc = memcache.Client(["127.0.0.1:11211"])This module and other memcached client libraries have the same behavior.>>> from mockcache import Client
>>> mc = Client()
>>> mc
<mockcache.Client {}>
>>> mc.get("a")
>>> mc.get("a") is None
True
>>> mc.set("a", "1234")
1
>>> mc.get("a")
'1234'
>>> mc
<mockcache.Client {'a': ('1234', None)}>
>>> mc.add("a", "1111")
0
>>> mc.get("a")
'1234'
>>> mc
<mockcache.Client {'a': ('1234', None)}>
>>> mc.replace("a", "2222")
1
>>> mc.get("a")
'2222'
>>> mc
<mockcache.Client {'a': ('2222', None)}>
>>> mc.append("a", "3")
1
>>> mc.get("a")
'22223'
>>> mc
<mockcache.Client {'a': ('22223', None)}>
>>> mc.prepend("a", "1")
1
>>> mc.get("a")
'122223'
>>> mc
<mockcache.Client {'a': ('122223', None)}>
>>> mc.incr("a")
122224
>>> mc.get("a")
122224
>>> mc
<mockcache.Client {'a': (122224, None)}>
>>> mc.incr("a", 10)
122234
>>> mc.get("a")
122234
>>> mc
<mockcache.Client {'a': (122234, None)}>
>>> mc.decr("a")
122233
>>> mc.get("a")
122233
>>> mc
<mockcache.Client {'a': (122233, None)}>
>>> mc.decr("a", 5)
122228
>>> mc.get("a")
122228
>>> mc
<mockcache.Client {'a': (122228, None)}>
>>> mc.replace("b", "value")
0
>>> mc.get("b")
>>> mc.get("b") is None
True
>>> mc
<mockcache.Client {'a': (122228, None)}>
>>> mc.add("b", "value", 5)
1
>>> mc.get("b")
'value'
>>> mc  # doctest: +ELLIPSIS
<mockcache.Client {'a': (122228, None), 'b': ('value', ...)}>
>>> import time
>>> time.sleep(6)
>>> mc.get("b")
>>> mc.get("b") is None
True
>>> mc
<mockcache.Client {'a': (122228, None)}>
>>> mc.set("c", "value")
1
>>> mc.get_multi(["a", "b", "c"])
{'a': 122228, 'c': 'value'}
>>> mc.set_multi({"a": 999, "b": 998, "c": 997}, key_prefix="pf_")
[]
>>> mc.get("pf_a")
999
>>> multi_result = mc.get_multi(["b", "c"], key_prefix="pf_")
>>> multi_result["b"]
998
>>> multi_result["c"]
997
>>> mc.delete("a")
1
>>> mc.get("a") is None
True
>>> mc.set("a b c", 123) #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
MockcachedKeyCharacterError: Control characters not allowed
>>> mc.set(None, 123) #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
MockcachedKeyNoneError: Key is None
>>> mc.set(123, 123) #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
MockcachedKeyTypeError: Key must be str()'s
>>> mc.set(u"a", 123) #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
MockcachedStringEncodingError: Key must be str()'s, not unicode.
>>> mc.set("a" * 251, 123) #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
MockcachedKeyLengthError: Key length is > ...
Package: mockcache3
The Python dictionary-based mock memcached client library. It does not
connect to any memcached server, but keeps a dictionary and stores every cache
into there internally. It is a just emulated API of memcached client only for
tests. It implements expiration also. NOT THREAD-SAFE.
This module and other memcached client libraries have the same behavior.It is a fork frommockcacheto support
new Python versions and fix a few bugs.
Package: mock-chroot
# python-mockchrootPython library for using Mock (the chroot-based build tool, not the mockup library)## How do I use this?Here is a quick example for building an EPEL7 RPM packge from a sourcesdircetory and a spec file, where the build configuration comes fromFedora Koji:out_dir = '/tmp/results'mock = MockChroot(config=mock_config.compose(mock_config.from_koji(target='epel7-build', koji_profile='koji'),mock_config.to['resultdir'].set(out_dir),mock_config.to['root_cache_enable'].set(True),mock_config.to['yum_cache_enable'].set(True)))print('Building SRPM in Mock')mock.buildsrpm(spec='/path/to/package.spec',sources='/path/to/package/sources')srpms = glob('{0}/*.src.rpm'.format(out_dir))if len(srpms) == 0:raise RuntimeError('no srpms found in {0}'.format(out_dir))elif len(srpms) > 1:raise RuntimeError('multiple srpms found in {0}'.format(out_dir))else:srpm = srpms[0]print('Building RPM in Mock')mock.rebuild(src_rpm=srpm, no_clean=True)## Tell me more!Please see the comprehensive documentation at [readthedocs][1][1]: http://python-mockchroot.readthedocs.org/## How do I install this?You can use *pip*:pip install mock-chroot
Package: mock-data-generator
Data Generator - WIPOverviewDuring every data project I came across a very basic common problem where we have to wait for the test data. For fewer columns it's quite easy to generate the data using online utilities but those have certain limitations on the number of columns and rows.
To solve this, I’ve built a utility to generate the mock data based on the supplied json schema.
This utility is using Python Faker module to randomly generate the test data.
Step by step guide onmedium.How to useFollow below steps to run the utility. I am open to your suggestions, please add comments or mail me your suggestions.Note: Data Types are case insensitiveInputsIt accept valid json schema files only with supported data types:"STRING","INT","INTEGER","NUMBER","FLOAT","DATE","BOOLEAN","BOOL","TIMESTAMP","ADDRESS","CITY","COUNTRY","COUNTRY_CODE","POSTCODE","LICENSE_PLATE","SWIFT","COMPANY","COMPANY_SUFFIX","CREDIT_CARD","CREDIT_CARD_PROVIDER","CREDIT_CARD_NUMBER","CURRENCY","DAY_NUM","DAY_NAME","MONTH_NUM","MONTH_NAME","YEAR","COORDINATE","LATITUDE","LONGITUDE","EMAIL","HOSTNAME","IPV4","IPV6","URI","URL","JOB","TEXT","PASSWORD","SHA1","SHA256","UUID","PASSPORT_NUMBER","NAME","LANGUAGE_NAME","LAST_NAME","FIRST_NAME","PHONE_NUMBER","SSN"Supported Input Parameters--input_json_schema_path: Provide absolute path of the json schema file/folder. It accepts folders(that contains valid json schema files) or absolute path of a json schema file.Json schema file format.{"type":"<object/record,etc>","number_of_rows":"<positive number>","properties":{"<column_name>":{"type":"<data_type>"},"<column_name>":{"type":"<data_type>"}}}The sample json schema file would look like below.{"type":"object","number_of_rows":"<positive number>","properties":{"price":{"type":"number"},"name":{"type":"name"},"location":{"type":"COORDINATE"},"flt":{"type":"float"},"email_id":{"type":"EMAIL"},"dt":{"type":"date"},"ts":{"type":"timestamp"},"is_valid":{"type":"boolean"}}}The generator will skip the current json schema file if an error occurred. Mock data would get generated for rest of the valid schema files.--output_file_format: The output file format should be one of the"CSV","JSON","XML","EXCEL","PARQUET","ORC"--output_path: Absolute path to store the generated mock dataset. If an output path does not exists, it will create it and store the data inside the directory into data. file.Pre-requisitesPython ^3.10Steps to execute the utilitypip install mock-data-generatorspecify the parameters mentioned aboveSample command:generate --input_json_schema_path=resources/schema.json --output_file_format=csv --output_path=output_data --number_of_rows=10:LicensingDistributed under the MIT license. SeeLICENSEfor more information.
Package: mock-decorator
Mock DecoratorMock Decorator simplifes the process of creating a mock for a decorator.FeaturesCan Mock Function Decorators.Can Mock Class Decorators.Can Mock Nested Decorators.Can Mock Simple Decorators. - like@my_decoratorCan Mock Decorators with arguments. - like@my_decorator(1)Allows you to verify which Class or Function is decorated.Allows you to verify arguments passed to the decorator.Why Use Mock Decorator?Mocking a decorator in python is more difficult than mocking other objects.  The trick is that part of the decorator code is executed at load time, and part is executed when the target function is called.Primer on Python Decoratorsis the best article I've found explaining how decorators work.When possible, it's best to validate the presence of a decorator by validating the effect(s) of the decorator.  But sometimes a mock is required.To mock a decorator, the decorator definition must be replaced with a mock before the decorated function is loaded.How to mock a decorator in Pythonexplains a method for creating a mock for a decorator.  There are also many examples in Stack Overflow.  But I find it very tedious to create a decorator mock.  And tricky to figure out which method was decorated, and what arguments were passed to the decorator.Mock Decorator is an implementation of a general purpose decorator mock.  It tracks which function(s) were decorated, and which arguments were passed to the decorator.Installationpip install mock-decorator --upgradeUsageNote:The decorator to be mocked, and the function or class being decorated must be located in different modules.Example Usage:my_functions.pyfrommy_decoratorsimportdecorator_with_args@my_dec(1,2)defmy_func(arg1,arg2="default"):returnf"my_func:{arg1}{arg2}done"test_my_functions.pyfrommock_decoratorimportMockDecoratorimportmy_decorators,my_functionsfromunittestimportmockdeftest_my_func():withmock.patch.object(my_decorators,"my_dec",MockDecorator())asmock_dec:# 1importlib.reload(my_functions)# 2mock_dec.my_func.assert_called_once_with(1,2)# 3Replace the decorator in its module with an instance of MockDecorator.Template using mock from unitest:withmock.patch.object(<decoratormodule>,"<decorator name>",MockDecorator())as<mock_name>:Import or Reload the module that includes the decorated function.During the loading of the module, the MockDecorator is called to create the decorator wrapper function.  At this time, the MockDecorator will add a MagicMock attribute to itself with the name of the target function.  It will then call the new attribute with the arguments passed to the decorator.Validate the mocked decorator was called with expected arguments.Template:<mock_name>.<decorated function name>.assert_called_once_with(<decorator args>)ContributeIssue Tracker:https://github.com/WiredNerd/mock-decorator/issuesSource Code:https://github.com/WiredNerd/mock-decoratorSupportIf you are having issues, please let us know.I can be contacted at:pbuschmail-github@yahoo.comOr by opening an issue:https://github.com/WiredNerd/mock-decorator/issuesLicenseThe project is licensed under the MIT license.
Package: mock-di-api
Mock SAP Data Intelligence apiThis small package can be used to mock the api-package of SAP Data Intelligence in order to develop an operator locally.
It is assumed that the working directory has the SAP Data Intelligence vflow-structure (github-pull) and the
Python-operator has been created previously with the 'Create Operator'-wizzard of the modeler. For details a blog
will be published on SAP Community in May 2021.To use the this add at the beginning of your script the following codelines:try:
    api
except NameError:
    from utils.di_local_test import *The following api attributes will be mocked:config: with the attributes read from the operators.json-fileMessage: creating a Message with attributes and body as attributessend: prints the content of the message that is send to the port. Only the message data types `string' and 'message' are
currently supported.
Package: mock-django
A simple library for mocking certain Django behavior, such as the ORM.Using mock-django objectsInside your virtualenv:>>>fromdjango.confimportsettings>>>settings.configure()# required to convince Django it's properly configured>>>frommock_django.queryimportQuerySetMock>>>classPost(object):pass...>>>qs=QuerySetMock(Post,1,2,3)>>>list(qs.all())[1,2,3]>>>qs.count()3>>>list(qs.all().filter())[1,2,3]See tests for more examples.Testingtox
Package: mockdjangosaml2
In projects that usedjangosaml2in production environment it is useful to have a mockup authentication system that can be used in development and testing environments i.e. whenDEBUG = True.Installpip install mockdjangosaml2Usagein project’ssettings.py:if DEBUG:
    INSTALLED_APPS += ('mockdjangosaml2',)
else:
    INSTALLED_APPS += ('djangosaml2',)update project’surls.pyfile to include separate set of patterns forDEBUG = Truecase:if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^saml2/', include('mockdjangosaml2.urls')),
    )
else:
    urlpatterns += patterns('',
        (r'^saml2/', include('djangosaml2.urls')),
    )add mock users and their attributes toMOCK_SAML2_USERSinsettings.py. It should be formated as sample given in applicationssettings.pyfile.
Package: mockdock
mockdockmockdockis a dns resolver and http server usable for testing
containers.mockdockcan be used with the--dnsargument fordocker run. It can be set to resolve all dns requests to itself, thereby
constituting a mock server for all dns-based http requests of the
container under test.Theintegration_testmodule under the tests directory serves as
practical documentation of howmockdockcan be used in a test
scenario with a docker container.formatResponses to http requests are specified as json in the format{"domain.tld/path":{"data":"response data","content-type":"text/plain","code":200},"domain.tld/path2":{"code":500}}All elements in the structure are optional with the missing elements
defaulting to the values set by the HttpResponse class in the
mockdock.server module.
The response data can be passed to the server directly in theCONFIG_DATAvariable or in a file with the path passed in
theCONFIG_PATHvariable. The two variables are mutually
exclusive, so they cannot both be specified at the same time.
Package: mockee
mockeePython3 的模拟数据(JSON)生成工具。安装pipinstallmockee用法frommockeeimportMockee# 加载指定的定义文件mock=Mockee('/path/to/deffile.json')# 生成数据data=mock.make('GET:/api/test',{# 当时间/日期数据项表达式为 auto 时的自动计算使用，此情况下必传的'date_range':['2020-01-01','2020-12-31'],# 指定 date_range 中传入的日期格式# 不指定时为 %Y-%m-%d %H:%M:%S# 不会影响生成的日期数据格式'date_fmt':'%Y-%m-%d',# 整数自增长的基数（从此数值开始自增），不指定时为 `0`'i_base':0})/path/to/deffile.json是模拟数据定义文件GET:path叫做数据标识，一般由请求的 method+url 组成data生成的数据。当未找到对应的声明时，返回None数据定义语法在数据定义中，包含以下4类文件：入口定义文件 数据接口入口，在创建Mockee实例时应当传入 见defs.json扩展定义文件 用于数据定义的共享 （要注意，不要循环引用） 见datetime.jsonJSON数据枚举文件 用于提供JSON数据格式的枚举，其内容应该是一个数组 见json.json一般数据枚举文件 用于提供除 JSON 格式外的其它数据枚举，每行一项 见choices.txt{"GET:/api/test":{"def":{},"len":10}}GET:/api/test数据标识def描述返回的字段集合len描述返回的数组长度，不指定或值为0时返回对象包含GET:/api/test的叫做入口定义文件表达式格式：#>(i|f|b|s|j|d|t|dt|ref) exp当一个值使用#>开头，表示这个值应该是一个生成的值(如"value": "#>i 1-5")；否则值为声明的值(如"type": 2)。#>i:1-5叫做值表达式，用于描述应该如何来生成一个随机的值。参考defs.jsondatetime.json数据类型#>后面，紧跟的是数据类型，可用的数据类型描述如下：i整数值f小数值b布尔值s字符串jJSONd日期值t时间值dt日期时间值ref引用外部定义文件(实现相同定义的复用)如果其值为数组，那么在 key 名称后紧跟[3]写法，如iValue[3]。[3]表示此值为数组，且其中包含3项。当且仅当值表达式有效类型后面，应该紧跟一个空白字符。值描述表达式再后面，是值描述，其分为两种数据模式，范围和枚举：范围(随机生成值)：当类型为数值时，使用1-5(包含1但不包含5) 这样的方式指定范围#>i 1-5#>f 0.2-0.8当为日期类型时，使用20200101-20201231这样的方式指定范围#>d 20200101-20201231当为时间类型时，使用000000-235959这样的方式指定范围#>t 000000-235959当为日期时间类型时，使用20200101000000-20201231235959这样的方式指定范围#>dt 20200101000000-20201231235959当为字符串时，使用l(小写字母),L(大写字母),n(数字),s(符号) 组合起来描述#>s lLns(包含字母，数值和符号)#>s lLn(包含字母，数值)整数类型对于类型i，可以这样写#>i auto，这表示使用自增长的整数。
此时需要在options中传入i_base作为自增长的基数（从此数值开始自增），不指定时为0原则上只允许出现一次#>i auto，当出现多次时，其值相同。时间/日期类型对于类型d/t/dt，有些特殊的写法#>dt auto->%Y-%m-%d：可以使用请求的日期区间自动计算日期值，写法为：#>dt auto。在值表达式后部分，可以使用->%Y-%m-%d的方式指定日期格式化串。其写法遵守 Python 日期格式化strftime写法。枚举值枚举(随机从给定的值中选择值)，所有类型使用相同的写法：#>i (1,2, 4, 6, 8)也可以从指定的文件加载枚举值(所有类型都支持):#>s (#choices.txt#)enum-filename为枚举文件名，其中每行存放一个数据项，其中不允许出现空行。无论是范围还是枚举，值不允许出现空白字符JSON类型可以使用#>j json.json这样的写法来指定从一个 JSON 文件中读取数据项。j表示此字段的值是一个JSON结构json.json是要读取的文件名。注意：json文件的扩展名必须为.jsonjson.json文件的根必须是数组此类型仅支持从文件读取。引用类型使用写法#>ref datetime.json以引入一个外部的数据结构定义。外部的数据结构定义(datetime.json)与入口定义文件的不同之处在于，其只包含定义部分(值为一个对象)，不包含数据长度和入口名称等信息。参考defs.jsondatetime.json其文件名应该是一个相对于入口定义文件的路径。入口定义文件的def项的值，也可以使用此处的引用写法。定义扩展扩展是在同级别添加数据项。单个扩展写法:{"#ext#":"ext.json"}多个扩展写法:{"#ext#":["ext1.json","ext2.json"]}如果扩展中包含的项已经存在于当前定义，那么会被忽略(即当前文件的定义优先于扩展文件内的定义)。参考ext.json引用类型和定义扩展的文件结构是一致的，其差异仅在引入的方式。TODO支持设置数据不能重复?结尾表示数据不能重复
Package: mockend
Mockend is a simple, lightweight, and extensible REST API mocking Python library.
It can be used to mock any REST API endpoint, and can be used to mock any HTTP method.
the library is very easy to use and easy to extend. It just need configuration file, then it
will simulate the REST API response.InstallationpipinstallmockendDocumentationIn endpoint configuration available method with their configuration can be used to mock any HTTP method.
All configuration of response can be mock in method configuration.Documentation:https://mghorbani2357.github.io/Mockend/Readthedocs:https://mockend.readthedocs.io/en/latest/
Package: mocker-client
python client for create/delete mocks on mock serverExamplepipinstallmocker-clientfrommocker_clientimportMockServer,Mockmock=MockServer(url='http://127.0.0.1:8080/mocker_api/mocks/').create_mock({'name':'hi','route':'/q','method':'get','responses':'Hi_1'})# actionsmock.delete()#help(MockServer.create_mock)create_mock(self,data):paramdata:dictwithkeys:'name'-optional,''bydefault'route'-forexample'/some_path''method'-ahttpmethodlikeGET,POST,PUT,etc'response_type'-optional,choicefrom['single','sequence','cycle'],'single'bydefault'responses'-listofdictswithkeys(orjustdictifresponse_typeissingle):'body'-responsebody'return_code'-httpstatuscode,like200'headers'-dictwithhttpheaders:returnsMockobject#help(MockServer.create_mocks)create_mocks(self,list_data):paramlist_data:listofdictswithkeys:'name'-optional,''bydefault'route'-forexample'/some_path''method'-ahttpmethodlikeGET,POST,PUT,etc'response_type'-optional,choicefrom['single','sequence','cycle'],'single'bydefault'responses'-listofdictswithkeys(orjustdictifresponse_typeissingle):'body'-responsebody'return_code'-httpstatuscode,like200'headers'-dictwithhttpheaders:returnslistofMockobjects#help(Mock.delete)delete(self)deletemockonserverandreturnitsinfo-{is_expired:bool}
Package: mockerinho
MockerinhoA tool designed to simulate HTTP-based APIs for development and testing purposes.InstallationYou can install this package using pippip install mockerinhoUsageRun the utility and specify simulations configurations directory (host and port are optional)mockerinho -H 127.0.0.1 \
           -p 3000 \
           -D data/examples/simulationsSend request to the simulatorcurl -i \
     -X POST http://127.0.0.1:3000/users \
     -H 'Content-Type: application/json' \
     -d '{"name": "Alex"}'Get response from the simulatorHTTP/1.1 201 CREATED
Content-Type: application/json
Content-Length: 18
Connection: Keep-Alive

{ "name": "Alex" }For more information about simulation configuration, see thesimulation configuration reference.AuthorMikhail EremeevLicenseMIT
Package: mockeval
mockevalCursed lambdas because yes.Usagefrommockevalimportvar,valtimes2=var.x*2print(times2.evl(x=2))# 4list_with_unkowns=val([1,2,var.third,var.fourth])print(list_with_unkowns.evl(third=3,fourth=4))# [1, 2, 3, 4]print(list_with_unkowns.map(sum).evl(third=3,fourth=4))# 10Why?yes.
Package: mock-event-generator
Mock Event GeneratorThis package re-generates past gravitational wave pipeline events by time-translating them. It fetches already existing events from a GraceDB server into a cache, shifts the time references as if they were created now and sends a request to GraceDB server to create a new event. By specifiying a super-event, all the online events that are part of it are re-created, either all at the same time, in a specific time interval, or as they were originally uploaded in GraceDB.Documentation ishere.
Package: mockextras
The mockextras library is designed to be used with the unittest.mock library in python 3 or the mock
backport of this (http://www.voidspace.org.uk/python/mock/) in python 2. The mockextras library adds
a number of features that are found in other mocking libraries namely:a fluent API for the configuration of stubsstubsmatchersThe documentation is here:http://mockextras.readthedocs.org/and the source is here:http://github.com/manahl/mockextras
Package: mock-file-tree
Mock file treeA simple interface to mock the os module with a virtual file tree.StatusSourceShieldsProjectHealthRepositoryPublishersActivityInstallingpipinstallmock-file-treeUsageCreate a virtual file tree:frommock_file_treeimportFileTreetree=FileTree.from_paths("file1","dir1/file2")Now we can import and overwrite the os module. This allows us to make all file interactions use our virtual tree.importosfrommock_file_treeimportMockFileTreewithMockFileTree(os,tree):os.listdir(".")['file1','dir1']Similarly:os.listdir("dir1")['file2']And so on:os.path.isfile("dir1")FalseMotivationMocking the file system is a typical task when writing unit tests. It is necessary to have a simple interface to declare paths to mock. It is not trivial to implement and so there has long been a need for an open source package to provide the functionality.AdvancedTo mock file system without using a context manager:mock=MockFileTree(os,tree)mock.apply()And to restore the os module:mock.restore()We would usually call the action of replacing methods in the os module as stubbing. However, the standard library refers to such tasks as mocking and so this package conforms to that naming scheme.You may want to replace the os module with the stubbed methods only and explicitly restrict access to any un-stubbed methods that interact with the file system (analogous to replacing the os module with a fake). This can be achieved by setting the safe parameter:withMockFileTree(os,tree,safe=True):os.remove("file1")...NotImplementedErrorTo cover all file system interactions the builtin 'open' function should be unset too.RoadmapIn models.unsupported there is a list of methods that interact with the file system that do not yet have mock implementations. Most notable are the methods that add and remove files from the file tree such as 'mkdir' and 'remove'.TestsTo run unit tests and generate a coverage report:grunttestDocumentationThis repository's documentation is hosted onreadthedocs.To use quickdocs to generate a sphinx documentation configuration:gruntdocsToolingTo run linters:gruntlintTo run formatters:gruntformatContinuous integrationThis repository uses github actions to lint and test each commit. Formatting tasks and writing/generating documentation must be done before committing new code.VersioningThis repository adheres to semantic versioning standards.
For more information on semantic versioning visitSemVer.Bump2version is used to version and tag changes.
For example:bump2versionpatchChangelogPlease read this repository'sCHANGELOGfor details on changes that have been made.ContributingPlease read this repository's guidelines onCONTRIBUTINGfor details on our code of conduct and the process for submitting pull requests.ContributorsJoel Lefkowitz-Initial work-Joel LefkowitzRemarksLots of love to the open source community!