Saravanan666/pypi-org huggingface dataset:
Package: immerframe
immerframeIntuitively perform deep updates on python objectswithout mutating themwhile being efficient via structural sharing - nodeepcopywhile maintaining type correctnessThis is (almost) a Python port ofimmer.pipinstallimmerframeFirst, let's import some stufffrom dataclasses import dataclass
from immerframe import ProxyNow, consider the data:@dataclassclassAnt:age:intant_10=Ant(age=10)ant_20=Ant(age=20)nested={"ants":[ant_10,ant_20,None],}let's pretend to mutate itwithProxy(nested)as(p,new_nested):p["ants"][0].age+=1p["ants"].pop()p["foo"]=99(notepandnew_nestedshould have the correct types in mypy)nestedwill remain the sameassertnested=={"ants":[ant_10,ant_20,None],}new_nestedwill benested, but with the mutations with specified in thewith Proxy(...)blockassert new_nested == {
"ants": [Ant(age=11), ant_20],
"foo": 99,
}but it _won't_ be a deep copy

```python
assert new_nested["ants"][1] is ant_20immerframesupports most thing's that can becopyedThings to rememberMutating the same thing in a block twice may not do what you'd expect in the following type of case:withProxy([1])as(l,new_l):l[0]+=5l[0]+=10will givel == [11]Use keys rather than references to loop over and mutate nesteddicts/lists:withProxy(new_nested)as(p,new_nested):forkinnew_nested:p[k]+=1fori,ninenumerate(new_nested["ants"]):ifn.age<15:p["ants"][i].age+10TODOimplement all dunder methodsfinish typing
Package: immersa-jwt
JWTAn implementation of JSON Web Token.Install$npminstallimmersa-jwtUsageInstantiate JWT objectimport os
import jwt

# secret must be 32-character long
secret = os.environ.get("IMMERSA_TOKEN_SECRET")

# expiration denotes the number of seconds the token is valid
expiration = os.environ.get("IMMERSA_TOKEN_EXPIRATION")

# if expiration is ommitted, default is set to 24 hours
JWT = jwt.JWT(secret, expiration)Given a session which represents dictionary, JWT can be generated by:session = {
    "id": "61c24785bd77c10012d58199",
    "displayName": "John Smoth",
    "email": "jsmith@immersa.co",
    "admin": True,
}
token = JWT.create-token(session)The token can then be passed along HTTP request apart of its header. This token can be validated on the server-side by calling:session = JWT.session(token)which, in turn, extract the session which was used to the tokken earlier. In case expired or invalid token,JWT.session(token)will raiseInvalidTokenError
Package: immich-face-to-album
Immich-Face-To-AlbumThe 'immich-face-to-album' tool is a CLI-based program that allows you to import a user's face from Immich into an album, in a way similar to the Google photos "auto-updating album" feature.InstallationBuilt as a Python package, it can be installed using pip (or pipx):pipxinstallimmich-face-to-albumpipxpip is a general-purpose package installer for both libraries and apps with no environment isolation. pipx is made specifically for application installation, as it adds isolation yet still makes the apps available in your shell: pipx creates an isolated environment for each application and its associated packages.or withpippipinstallimmich-face-to-albumUsageStart by grabbing both the face id and album id from Immich. You can find the face id by clicking on a face in the "Faces" tab, and the album id by clicking on an album in the "Albums" tab. The face id is the last part of the url, and the album id is the last part of the url.To use the tool, you need your API key, Immich server url, face id and album id.immich-face-to-album--keyxxxxx--serverhttps://your-immich-instance.com--facexxxxx--albumxxxxxMake sure to specify the protocol and port in the server url. For example, if your server is running on port 8080, you should specify the url ashttp://your-server-url:8080.You can run the command multiple times to add different faces to the same album.On a scheduleThe easiest way to keep face(s) synced with an album is to create a cron job that runs the command on a schedule.For example, to run the command every hour, you can add the following to your crontab:@hourlyimmich-face-to-album--keyyour-key--serveryour-server-url--faceface-id--albumalbum-id
Package: immo-bee
Immowelt AnalyzerAuthor:dirk.ulbricht@gmail.comPurposeScrape housing data from German housing portal Immowelt.de and retrieve as comma separted file.InstallationGeckodriverThis package depends on Geckodriver that can not be imported using pip directly. However, there is an os-independent python module [(geckodriver-autoinstaller)] available performing the install(https://pypi.org/project/geckodriver-autoinstaller/). For More information on a manual install see:WindowsLinux it'ssudo apt install firefox-geckodriverMac usenpm install geckodriver.immo-beepython-mpipinstallimmo-beeUsageCommandlinepython-mimmo_bee--helppython-mimmo_beenorderstedthamburgThis will create a folderdataon your current working directory (if it is not already there) and saves 4 json files for each location for houses, appartments, for rent and for sale respectively. Additionally it will create a comma separated file including all json files preprocessed and ready for usage.ImportIf you prefer using immo_bee as a package use:fromimmo_beeimportbeelist_of_locations=["norderstedt","hamburg"]df=bee(list_of_locations)
Package: immoscrapy
immoscrapyScrapeImmobilienscout24data using Python. You can use it as a Python
library or a standalone CLI application.Onlinedocumentationis available onhttps://readthedocs.org.Immoscrapy is tested on Linux, Mac and Windows and all Python versions >= 3.7.QuickstartThe CLI allows currently for four types of queries:renting an apartmentbuying an apartmentrenting a housebuying a houseimmoscrapy--help
usage:immoscrapy[-h]{rent-apartment,buy-apartment,rent-house,buy-house}...

QueryImmobilienscout24offers

positionalarguments:{rent-apartment,buy-apartment,rent-house,buy-house}optionalarguments:-h,--helpshowthishelpmessageandexiteach of the types has its own set of options:immoscrapybuy-apartment--help
usage:immoscrapybuy-apartment[-h]-cCOUNTRY[-rREGION][-zCITY][-pPRICE][-oNUMBEROFROOMS][-sLIVINGSPACE][-yCONSTRUCTIONYEAR]Queryforapartmentsforsale

optionalarguments:-h,--helpshowthishelpmessageandexit-cCOUNTRY,--countryCOUNTRY-rREGION,--regionREGION-zCITY,--cityCITY-pPRICE,--pricePRICEpricerange:min-max,-maxormin--oNUMBEROFROOMS,--numberofroomsNUMBEROFROOMSnumberofrooms:min-max,-maxormin--sLIVINGSPACE,--livingspaceLIVINGSPACElivingspace:min-max,-maxormin--yCONSTRUCTIONYEAR,--constructionyearCONSTRUCTIONYEARconstructionyear:min-max,-maxormin-running it:immoscrapybuy-apartment--countryde--regionberlin--price100000-800000--numberofrooms5-# get nicely formatted tabular data showing the resultsInstallationimmoscrapy isavailable on pypi, you can install it via:pipinstallimmoscrapy
Package: immosheets
Tired of searching with your mouse ? Let's automate the process.Description :Introducing "immosheets", a tool that streamlines your search process by automating it.No more tedious mouse clicking and scrolling through search results. Withimmosheets, you can quickly and easily find what you're looking for with just a few simple commands.Whether you're a developer looking for code snippets or a researcher scouring the web for information,immosheetscan help you save time and increase your productivity.Try immosheets out today and see the difference for yourself!UsageInstallpipinstallimmosheetsWrite your scriptThis is meant to be used as a package for your bot.fromimmosheetsimport(SelogerService,SelogerSearchQuery,SelogerRealEstateFilter,SelogerRealEstateType,SelogerTransactionType,GoogleSpreadsheetsService)seloger=SelogerService(api_key='my_seloger_api_key')google_sheets=GoogleSpreadsheetsService(credentials_file_path='./credentials.json')query=SelogerSearchQuery(maximumPrice="800",zipCodes="76300,76800,76000",includeNewConstructions="false",transactionType=SelogerTransactionType.RENT,realtyTypes=SelogerRealEstateType.APPARTMENT,sortBy=SelogerRealEstateFilter.NEWEST)google_sheets.use("my_sheet_id").clear().add_headers()forresultinseloger.search(query):google_sheets.insert(result)Genereting credentialsThird partyInstructionsTo learn how to create credentials, go toCreate credentials.  Once you create the credentials, make sure the downloaded JSON file is saved as credentials.json. Then move the file to your working directory and fill the path when instanciating the service.Generate your API keyhere. An account on RapidAPI is needed to retrieve an API key.Nothing to do.Work in progress.Work in progress.Check out examples for more.For contributorsTo install development dependenciespipinstall-rrequirements.txtTo install the package locally with your new code insidepipinstall-e.There are no unit tests or documentation currently, we're working on that.IntegrationAt this time, I am able to integrate with seloger.com and Google Sheets.I am currently in the process of implementing support for Leboncoin.If you would like me to integrate with any other third-party platforms, please submit a request in the form of an issue.Additional integrations beyond seloger.com and Google Sheets are being considered and are open for request through the creation of an issue.Your suggestions will be taken into consideration and evaluated for feasibility and compatibility with my current system.We appreciate your feedback and suggestions as it helps us to improve and expand my capabilities to better serve you!You can actually write your own integration based on defaults abstract classes located at the root of the package :'RealEstateService' for data acquisition'ReportingService' to display and manage dataIntegration IdeasHere's few integrations ideas:ExcelMongoDBMySQLElasticSearchPersist data as a File (JSON, XML, CSV)Explorimmomeilleursagents.comapimo.net
Package: immo-tools-lib
immo tools libinstallationavec pip :pipinstallimmo-tools-libavec poetry :poetryaddimmo-tools-libusagefromimmo_toolsimportcalculatorduration=300amount=250000year_rate=1.5insurance_rate=.26loan=calculator.build_loan(duration,amount,year_rate,insurance_rate,build_summary=True,duration_unit='month')# Tableau d'amoritssement :loan.summary# montant total des intérêts payés :loan.get_interests()# mensualités sans assurance :loan.get_monthly()# Coût de l'emprunt au bout de 10 ans :loan.get_cost(10)développementtestslancer les tests :pytestavec le coverage :pytest--covlancer les tests avec nox : (attention, c'est super long !):nox-rPermet de lancer les tests sur plusieurs versions de python et de manière isollée.
Nox crée son propre environnement virtuel et y install les dépendances.
L'option-rpermet déviter de recréer tout l'environnement virtuel à chaque fois.build & publishbuild :poetrybuildpublish sur pypi :poetrypublish--build
Package: immpy
ImmPy is a small Python library that provides operations for detecting and processing stops in indoor trajectories.The library includes the following functionalities:(i) Studying and implementing an existing algorithm (SPD) for determining stops.(ii) Defining and implementing a method to associate stops with POIs (Point of Interest).(iii) Defining methods to export obtained data related to stop sequences.(iv) Methods for aggregating stops into higher-level information called visits.
Package: immunopipe
Integrative analysis for single-cell RNA sequencing and single-cell TCR sequencing dataimmunopipeis a pipeline based onpipenframework. It includes a set of processes for scTCR- and scRNA-seq data analysis inR,pythonandbash. The pipeline is designed to be flexible and configurable.See a more detailed flowcharthere.Documentaionhttps://pwwang.github.io/immunopipeProposing more analysesIf you have any suggestions for more analyses, please feel free to open an issuehereExamplehttps://github.com/pwwang/immunopipe-exampleGalleryThere are some datasets with both scRNA-seq and scTCR-seq data available in the publications. The data were reanalyzed usingimmunopipewith the configurations provided in each repository, where the results are also available.Check out thegalleryfor more details.
Package: immutable
This package is anexceedinglysimple wrapper around the builtinnamedtuplefrom thecollectionspackage.It allows you to instantiate via atupleor viakwargs. It
simplifies the case where you know ahead of time what the values of anImmutableshould be and you just need to instantiate it once.Installpip install immutableDetailsnamedtupleThenamedtupleis a Pythonbuiltinthat allows you to
instantiate an object as follows:fromcollectionsimportnamedtupleTupleFactory=namedtuple('ATuple',['using','these','attrs'])ATuple=TupleFactory('first',these='second',attrs='third')ATuple# ATuple(using='first', these='second', attrs='third')# dot-access attributesATuple.using# 'first'Atuple.these# 'second'ATuple.attrs# 'third'# index-access attributesATuple[0]# 'first'ATuple[1]# 'second'ATuple[2]# 'third'ATuple[-1]# 'third'# the class name is as specified in creating the original factoryATuple.__class__.__name__# 'ATuple'ImmutableFactoryReplicatenamedtuplefunctionalityThe ImmutableFactory is just a thin wrapper that allows you to do this
in one step:fromimmutableimportImmutableFactoryattributes=(('using','first'),('these','second'),('attrs','third'))# don't worry about the extra kwargs for now :)ATuple=ImmutableFactory.create(attributes,keys=False,values=False,items=False)ATuple# Immutable(using='first', these='second', attrs='third')# dot-access attributesATuple.using# 'first'Atuple.these# 'second'ATuple.attrs# 'third'# index-access attributesATuple[0]# 'first'ATuple[1]# 'second'ATuple[2]# 'third'ATuple[-1]# 'third'# the class name is *always* `Immutable` nowATuple.__class__.__name__# 'Immutable'Some extra bells and whistles (don’t get too excited)Most of the time, we don’t care about theorder. This allows us to
instantiate in amuchcleaner style:fromimmutableimportImmutableFactoryATuple=ImmutableFactory.create(using='first',these='second',attrs='third',keys=False,values=False,items=False)# note that there's no predictable order hereATuple# Immutable(these='second', using='first', attrs='third')# dot-access attributesATuple.using# 'first'Atuple.these# 'second'ATuple.attrs# 'third'# doesn't really make sense to index-access attributes now, so don't.# the class name is *always* `Immutable` nowATuple.__class__.__name__# 'Immutable'Additionally, it’s helpful to have dict-likekeys,values, anditems. TheseNotesNote if you use amutableas a value for an attribute of anImmutableobject, you’ll be able to change it. If this wasn’t the
case, theImmutableFactorywould need to mutate your input data–not
nice.fromimmutableimportImmutableFactoryATuple=ImmutableFactory.create(mutable=['a','list'])ATuple.mutable# ['a', 'list']ATuple.mutable.append('can change!')ATuple.mutable# ['a', 'list', 'can change!']
Package: immutable-config
ImmutableImmutable library helps to convert python dictionary to namedtuples and converting values to immutable datastructure
recursively. Namedtuples, by default, are immutable.
You can’t modify them. But If you have nested data structures, you can still modify them.Immutable library tries to provides a function to convert them immutable and creates namedtuple from the converted dict.Dict    -> MappingProxyTypeList    -> TupleSet     -> FrozensetUseCaseWhen “global variables as configuration” should be shared across the project, library will help to make
config immutable.How to installpip install immutableRequirementsPython 3.6 and aboveCode Examplefromimmutable.immutableimportimmutableLOGGING={'formatters':{'verbose':{'format':'{levelname}{asctime}{module}{process:d}{thread:d}{message}','style':'{',},'simple':{'format':'{levelname}{message}','style':'{',},},'loggers':{'django':{'handlers':['console'],'propagate':True,},'django.request':{'handlers':['mail_admins'],'level':'ERROR','propagate':False,},'myproject.custom':{'handlers':{'console','mail_admins'},'level':'INFO','filters':['special']}}}config=immutable('LoggingConfig',LOGGING,only_const=False,recursive=True)Optionsonly_const (default = False)It will create namedtuple from all dictionary keys. When it is set toTrue,
it will only create namedtuple fromconstants(all caps variables).recursive (default = False)Only first level of key-vales are immuted, when it is set toFalse. When it is set toTrue,
all the key-values are traversed and converted to immutable.clone (default = True)Clone the given dictionary and mutates it. deepcopy is a costly operation when dictionary is to
many levels of nested with basic python data structure (list, tuple, set, dict).Setting it toFalsewill improve the performance, but it will mutate the data given to immutable function.
So useFalse, when you do not need to access the data after making it immutable.propertiesImmutable function takes all the key from data given and creates namedtuple from that. If you want to create namedtuple
with selected keys, you can pass propertiesiterableto filter from data.LicenseThis project is licensed under the MIT License - see theLICENSEfile for details
Package: immutable_default_args
This module provides facilities for turning mutable default function arguments
into immutable ones. It is fairly lightweight and has no non-standard dependencies.
You can install this package with the standardpipcommand:$ pip install immutable_default_argsThe issue withmutable argument default valuesis pretty well known in Python.
Basically mutable default values are assigned once at define time and can then
be modified within the function body which might come as a surprise.
Here is the example from thestackoverfowthread:def foo(a=[]):
    a.append(5)
    return a

>>> foo()
[5]
>>> foo()
[5, 5]
>>> foo()
[5, 5, 5]
...The default way of preventing this behaviour is to useNoneas the default
and check for it in the function body, like so:def foo(a=None):
    a = a if (type(a) is list) else []
    a.append(5)
    return a

>>> foo()
[5]
>>> foo()
[5]
...UsageThis package aims to offer two additional options to fix this issue:With a handy function decorator@fix_mutable_kwargsto fix a certain function.With a metaclassImmutableDefaultArgumentsto fix allmethods,classmethodsandstaticmethodsat once.Using the decorator:from immutable_default_args import fix_mutable_kwargs

@fix_mutable_kwargs
def foo(a=[]):
    a.append(5)
    return a

>>> foo()
[5]
>>> foo()
[5]
...It doesn’t matter if the iterable is empty or not:@fix_mutable_kwargs
def foo(a=[1, 2, {'key': 'value'}, 3, 4]):
    a.append(5)
    return a

>>> foo()
[1, 2, {'key': 'value'}, 3, 4, 5]
>>> foo()
[1, 2, {'key': 'value'}, 3, 4, 5]
...Fixing all mutable default values for all methods of an object via theImmutableDefaultArgumentsmetaclass:class Foo(object):

    __metaclass__ = ImmutableDefaultArguments  # Py2 syntax

    def foo(self, a=[]):
        a.append(5)
        return a

    @classmethod  # staticmethods work as well
    def foo_classmethod(cls, a=[]):
        a.append(5)
        return a

instance_of_foo = Foo()
>>> instance_of_foo.foo()
[5]
>>> instance_of_foo.foo()
[5]
...
>>> Foo.foo_classmethod()
[5]
>>> Foo.foo_classmethod()
[5]CompatibilityTheimmutable_default_argspackage is tested against Py2/3 and is supported
fromPy2.7upstream.Changelog0.0.8(08.05.2016)Add .landscape.yml and badges and more jazz.0.0.7(08.05.2016)AddCIand badges and all that jazz.0.0.5(08.05.2016)Fixed documentation0.0.2(08.05.2016)Added@fix_mutable_kwargsdecoratorRefactorings/Cleanup0.0.1(08.05.2016)First release. Included onlyImmutableDefaultArgumentsmetaclassLicenseYou are free to do whatever you like with the code. Please note that I am not
accountable for anything that might have happened as a result of executing the
code from theimmutable_default_argspackage….ever.
Package: immutabledict
immutabledictAn immutable wrapper around dictionaries. immutabledict implements the complete mapping interface and can be used as a drop-in replacement for dictionaries where immutability is desired.It's a fork of slezica'sfrozendict. This library is a pure Python, MIT-licensed alternative to the new LGPL-3.0 licensedfrozendict.InstallationOfficial release inon pypiasimmutabledict.Community-maintainedreleases are available:Onconda-forgeasimmutabledictOnvarious package repositoriesExamplefromimmutabledictimportimmutabledictmy_item=immutabledict({"a":"value","b":"other_value"})print(my_item["a"])# Print "value"Differences with the old original frozendict packageDropped support of EOL Python versions (older versions of the library may support older Python versions)Fixedcollections.Mappingdeprecation warningTypingPEP 584 union operatorsKeep the same signature forcopy()asdict(starting with immutabledict 3.0.0), don't accept extra keyword arguments.DonationsIf you wish to support the app, donations are possiblehere.
Package: immutableListType
IMMUTABLESA series of immutable types for use in python projects.Immutable Types and why they matterImmutableList- The ImmutableList type is a python type that allows you to instantiate a list once and then use the contents of that list. As this list is immutable, it can not be modified in any way.Set- the Set type in python is mutable. Python's built in frozenset is the immutable version of theSettype. No additional types are needed.Dict- the Dictionary type in python is mutable. Pythons built in namedtuple type is the immutable version of thedicttype. No additional types are needed.
Package: immutables
An immutable mapping type for Python.The underlying datastructure is a Hash Array Mapped Trie (HAMT)
used in Clojure, Scala, Haskell, and other functional languages.
This implementation is used in CPython 3.7 in thecontextvarsmodule (seePEP 550andPEP 567for more details).Immutable mappings based on HAMT have O(log N) performance for bothset()andget()operations, which is essentially O(1) for
relatively small mappings.Below is a visualization of a simple get/set benchmark comparing
HAMT to an immutable mapping implemented with a Python dict
copy-on-write approach (the benchmark code is availablehere):Installationimmutablesrequires Python 3.6+ and is available on PyPI:$ pip install immutablesAPIimmutables.Mapis an unordered immutable mapping.Mapobjects
are hashable, comparable, and pickleable.TheMapobject implements thecollections.abc.MappingABC
so working with it is very similar to working with Python dicts:importimmutablesmap=immutables.Map(a=1,b=2)print(map['a'])# will print '1'print(map.get('z',100))# will print '100'print('z'inmap)# will print 'False'Since Maps are immutable, there is a special API for mutations that
allow apply changes to the Map object and create new (derived) Maps:map2=map.set('a',10)print(map,map2)# will print:#   <immutables.Map({'a': 1, 'b': 2})>#   <immutables.Map({'a': 10, 'b': 2})>map3=map2.delete('b')print(map,map2,map3)# will print:#   <immutables.Map({'a': 1, 'b': 2})>#   <immutables.Map({'a': 10, 'b': 2})>#   <immutables.Map({'a': 10})>Maps also implement APIs for bulk updates:MapMutationobjects:map_mutation=map.mutate()map_mutation['a']=100delmap_mutation['b']map_mutation.set('y','y')map2=map_mutation.finish()print(map,map2)# will print:#   <immutables.Map({'a': 1, 'b': 2})>#   <immutables.Map({'a': 100, 'y': 'y'})>MapMutationobjects are context managers.  Here’s the above example
rewritten in a more idiomatic way:withmap.mutate()asmm:mm['a']=100delmm['b']mm.set('y','y')map2=mm.finish()print(map,map2)# will print:#   <immutables.Map({'a': 1, 'b': 2})>#   <immutables.Map({'a': 100, 'y': 'y'})>Further developmentAn immutable version of Pythonsettype with efficientadd()anddiscard()operations.LicenseApache 2.0
Package: imobis
Python interface tohttp://sms-manager.ru/(akahttp://www.imobis.ru/).Installation$ pip install imobisUsage>>> from imobis.api import Imobis
>>> im = Imobis('login', 'password')Send sms:>>> im.send_sms('Sender', '79991234567', u'привет', message_id=5234)
12836Get balance:>>> im.get_balance()
100Check if phone number is valid:>>> im.is_valid_phone('234234')
FalseDevelopmentDevelopment happens at bitbucket and github:https://bitbucket.org/kmike/imobis/https://github.com/kmike/imobis/The issue tracker is at bitbucket:https://bitbucket.org/kmike/imobis/issues/new