Saravanan666/pypi-org huggingface dataset:
Package: pserializeation
PSerializationPython library for serializing & deserializing python objects.Out of the box support for "basic" object de/serialization, that is objects that hold all of their state in __ dict __ and have a trivial __ new __.For more complicated types like datetime.datetime, users of this library can supply custom middleware to handle de/serializing those types.Useful for sending python objects to a system that may only be expecting to handle primitive types, as well as reconstructing python objects from systems that lack type information. I personally use this for editing/loading configuration files stored as json, and for loading objects from nosql dbs like MongoDB.'Basic' Object Examplefrompserialize.serializerimportSerializerfrompserialize.deserializerimportDeserializerserializer=Serializer()deserializer=Deserializer()classShoe():def__init__(self,size:int,condition:str,brand:str):self.size=sizeself.condition=conditionself.brand=brandif__name__=="__main__":shoes=[Shoe(11,"Good","Nike"),Shoe(12,"Bad","Geox")]# Serialize a python object into primitivesserialized=serializer.serialize(shoes)assertserialized==[{"size":11,"condition":"Good","brand":"Nike"},{"size":12,"condition":"Bad","brand":"Geox"}]# Build back the object representation just from primitivesdeserialized=deserializer.deserialize(serialized,Shoe)assertdeserialized==shoesMiddleware Examplefromdatetimeimportdatetimefrompserialize.serializerimportSerializerfrompserialize.deserializerimportDeserializerdefserialize_datetime(date:datetime):returnrepr(date)defdeserialize_date(value:object):asserttype(value)isstrarg_str=value.split("(")[1]arg_str=arg_str.replace(")","")args=arg_str.strip(" ").split(",")args=[int(arg)forarginargs]returndatetime(*args)serializer=Serializer(middleware={datetime:serialize_datetime})deserializer=Deserializer(middleware={datetime:deserialize_datetime})if__name__=="__main__":date=datetime(2022,7,25,11,3,44,21000)# Serialized using the custom functionserialized=serializer.serialize(date)assertserialized=="datetime.datetime(2022, 7, 25, 11, 3, 44, 21000)"# Deserialized back into the correct typedeserialized=deserializer.deserialize(serialized,datetime)assertdeserialized==date
Package: pserver.mailer
.. contents::PSERVER.MAILER==============Configuration-------------config.json can include mailer section::"applications": ["pserver.mailer"],"mailer": {"default_sender": "foo@bar.com","endpoints": {"default": {"type": "smtp","host": "localhost","port": 25}}}Printing mailer---------------For development/debugging, you can use a console print mailer::"applications": ["pserver.mailer"],"mailer": {"default_sender": "foo@bar.com","endpoints": {"default": {"type": "smtp","host": "localhost","port": 25}},"utility": "pserver.mailer.utility.PrintingMailerUtility"}Sending mail------------POST http://localhost:8080/zodb/plone/@mailer{"sender": "foo@bar.com","recipient": "john@doe.com","subject": "Some subject","text": "Hello"}Permissions-----------`pserver.mailer` defines a permission `mailer.SendMail` which, by default,only the `plone.SiteAdmin` role is assigned.Using the mailer in code------------------------You can also directly use the mailer in your code::from zope.component import queryUtilityfrom pserver.mailer.interfaces import IMailermailer = queryUtility(IMailer)await mailer.send(recipient='john@doe.com', subject='This is my subject', text='Body of email')1.0.0 (2017-02-01)------------------- Initial release
Package: pseu-cli
Descriptionpseu is a CLI tool that provides the following pseudorandom utilities: picking, shuffling, dice-rolling and number generation. It's useful for people who frequently call on machines to make their life choices.$ pseu pick "good life choice" "bad life choice"
bad life choice
$ pseu pick --n 2 </tmp/movies.txt
Boogie Nights
The Hunt for the Wilderpeople
$ pseu roll 1d6
3
$ pseu rand 100
42
$ pseu shuffle alice sue bob
bob
sue
aliceSetupRequires Python 3. Install fromPyPIusing pip:pip3 install pseu-cliMore examplesrollandrandcan print stats.$ pseu roll 3d6 --stats
4 5 4
sum: 13
max: 5
min: 4Multiple types of dice, multiple random numbers.$ pseu roll 2d6 6d3
6 6 1 3 3 1 2 1
$ pseu rand 1-3x5 10-20
2 2 1 3 1 16Use a (base64) seed to repeat results.$ pseu 1-1000 --seed abc
903
$ pseu 1-1000 --seed abc
903ContributingFeel free to submit tweaks.To run tests, install tox viapip3 install toxand then run thetoxcommand from the base directory.
Package: pseud
Pythonic bidirectional-rpc API built on top of ØMQ with pluggable
encryption, authentication and heartbeating support.FeaturesØMQ transport layer.All native python types supported (msgpack).First citizen exceptions.Bi-bidirectional (server can initiate calls to connected clients).Encryption based on CURVE.Pluggable Authentication.Pluggable Heartbeating.Pluggable Remote Call Routing.Built-in proxy support. A server can delegate the work to another one.SyncClient (using zmq.REQ) to use within non event based processes.
(Heartbeating, Authentication and job execution are not supported with
the SyncClient.)Installation$pipinstallpseudExecutionThe ServerfrompseudimportServerserver=Server('service')server.bind('tcp://127.0.0.1:5555')@server.register_rpcdefhello(name):return'Hello{0}'.format(name)awaitserver.start()# this will block foreverThe ClientfrompseudimportClientclient=Client('service',io_loop=loop)client.connect('tcp://127.0.0.1:5555')# Assume we are inside a coroutineasyncwithclient:response=awaitclient.hello('Charly')assertresponse=='Hello Charly'The SyncClient# to use within a non-asynchronous process or in a command interpreterfrompseudimportSyncClientclient=SyncClient()client.connect('tcp://127.0.0.1:5555')assertclient.hello('Charly')=='Hello Charly'The Server send a command to the clientIt is important to note that the server needs to know which
peers are connected to it.
This is why the security_plugintrusted_peercomes handy.
It will register all peer id and be able to route messages to each of them.frompseudimportServerserver=Server('service',security_plugin='trusted_peer')server.bind('tcp://127.0.0.1:5555')@server.register_rpcdefhello(name):return'Hello{0}'.format(name)awaitserver.start()# this will block foreverThe client needs to send its identity to the server. This is whyplainsecurity plugin is used. The server will not check the password, he will just
take into consideration the user_id to perform the routing.frompseudimportClientclient=Client('service',security_plugin='plain',user_id='alice',password='')client.connect('tcp://127.0.0.1:5555')# Action that the client will perform when# requested by the server.@client.register_rpc(name='draw.me.a.sheep')defsheep():return'beeeh'Back on server side, we can send to it any commands the client is able to do.# assume we are inside a coroutinesheep=awaitserver.send_to('alice').draw.me.a.sheep()assertsheep=='beeeh'DocumentationPseud on ReadthedocsCopyright 2014 ezeep GmbHLicensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Package: pseudo-9608
An interpreter for 9608 pseudocodePseudo is an interpreter for 9608 pseudocode, a pseudocode syntax used in Cambridge International AS & A Level Computer Science.Setuppip install pseudo-9608UsageShell: Running with a pseudocode file$ pseudo myfile.pseudoThis will run the pseudocode interpreter on the filemyfile.pseudo.Python: Running with a pseudocode fileimport pseudocode

pseudocode.runFile('myfile.pseudo')This will run the pseudocode interpreter on the filemyfile.pseudo.Python: Running with a pseudocode stringimport pseudocode

code = """
OUTPUT "Hello World!"
"""

pseudocode.run(code)This will run the pseudocode interpreter on the stringcode.ChaptersThis project is also an attempt to write a programming book in a new style. Each chapter of this book is written as a pull request.01a Scanning01b Tokens02 Expressions03 Evaluation04 Statements05 Interpreting06a Variables06b Assignment06c Retrieving variables07 Resolving08 Static typing09 Conditionals10 Loops11 Input12a Procedures12b Procedure calls12c Passing by reference13a Functions13b Loose ends14a Reading from source14b Line numbers14c Referencing source code14d Column info15 File IO16a OOP: Expressions16b OOP: Statements16c OOP: Expression Statements16d OOP: Variables16e OOP: Values16f OOP: Frames16g OOP: Error reporting16h OOP: Tokens17 Statement hierarchies18a Boolean18b Logical operators18c Fix: logical operators(This is an addendum to 18b)19 REALs20 Packaging21a Test: Data passing21b Test: Checking output21c Test: Checking Errors22a Scoping: Recursion22b Scoping: System23a Object: Scopes23b Object: Attributes23c Object: ARRAY24a Improvements: type annotation24b Improvements: Decoupling24c Improvements: Type Relationship24d Improvements: Parser24e Improvements: Resolver24f Improvements: Interpreter24g Improvements: Pseudo25a Automation: Testing25b Automation: Setup25c Automation: Security26a Release: Usage
Package: pseudo-bridgeland-tilt
Pseudo Bridgeland Tilt Python PackageThis is a Python wrapper around aRust cratefor computing a list of pseudo semistabilizers of a given Chern character (currently just on P^2).
Less feature-ful and tested ashttps://github.com/benjaminschmidt/stability_conditions, but much faster.Mathematics:TODOInstallationThis python package in published toPyPI.
Install it viapipin a python3 or sage environment, e.g.:sage-pipinstallpseudo_bridgeland_tiltpip3installpseudo_bridgeland_tiltUsage>>>frompseudo_tiltimportpseudo_semistabilizers>>>pseudo_semistabilizers(3,2,-4)which gives expected output:Computing pseudo semistabilizers for Chern Character: (3, 2ℓ, -4½ℓ²)[(1, 0, 0), (4, -2, 1), (2, ...
Package: pseudo-cron
pseudo-cronPseudo Cron Middleware for DjangoRationaleSchedule tasks for periodic execution without crontab.SupportSupports: Python 3.9.Supports Django Versions: 3.2.23Installation$pipinstallpseudo_cronUsageAddpseudo_crontoINSTALLED_APPS.Run migrations:pythonmanage.pymigrateAdd the middleware:MIDDLEWARE=[...,'pseudo_cron.middleware.CronMiddleware']Add acron.pymodule to your app and schedule your periodic task:frompseudo_cron.decoratorsimportschedule_job@schedule_job(24*60*60)# Run every 24 hrsdefmy_task():...
Package: pseudo-ecg
pseudo-ecgLibrary to compute pseudo ECG from bidomain and monodomain simulationsSource code:https://github.com/ComputationalPhysiology/pseudo-ecgDocumentation:https://computationalphysiology.github.io/pseudo-ecgInstallYou can install the library with pippython3 -m pip install pseudo-ecgGetting startedTbWLicenseMITNeed help or having issuesPlease submit anissue
Package: pseudolm
PyPLM: a Pseudo-Likelihood Maximization (PLM) python packageThis python package implements the Pseudo-Likelihood Maximization (PLM) technique to solve the inverse Ising problem (equivalently known as pairwise Maximum Entropy modelling). The method allows the interaction network of systems of binary variables to be reconstructed, and relies on performing logistic regression.PyPLM is structured around a single pipeline (the data_pipeline), which allows data to be generated and inferred. PyPLM also implements Firth's logistic regression penalty.Installationgit clone https://github.com/maxkloucek/pyplm.git
cd pyplm
pip install .Usage ExamplesPlease see example_2DIsing.py for an overview of how to use the pyplm data_pipeline. All data is stored using the hdf5 file format. To perform some elementary analysis, first runpython example_2DIsing.py, and then see theexample_2DIsing_analysis.ipynbnotebook (requires jupyter notebook to be installed).If you use this package for any scientific purpose then please cite:https://arxiv.org/abs/2301.05556
Package: pseudoLocalizer
Pseudolocalizing is one technique for validating the translation-readiness of
your software.  It allows you to run and test your software with strings that
are distinctly non-English but still quite readable.  Lingering hardcoded
English strings are exposed.  Logic dependencies on specific English values
become apparent.  Dialog sizing problems are visible.  A single pass at
pseudolocalizing can be done with any editor but it is useful to have a
consistent transformation that you can apply repeatedly as you iterate through
build and test cycles.
Package: pseudomyth
A script that parses filenames in a folder looking for videos with common
release filename structures and plays them back in an appropriately random
order.Example$ pip install pseudomyth

$ ls
[Coalgirls]_Clannad_10_(1280x720_Blu-Ray_FLAC)_[3827A783].mkv
[Coalgirls]_Clannad_ED_(1280x720_Blu-Ray_FLAC)_[A230547E].mkv
[Coalgirls]_Clannad_OP_(1280x720_Blu-Ray_FLAC)_[940FB269].mkv
[Commie] Persona 4 - 25 [Director's Cut] [BD 720p AAC] [311CA781].mkv
[Commie] Persona 4 - 26 [True Ending] [BD 720p AAC] [0A24880E].mkv
[HorribleSubs] Space Brothers - 19 [720p].mkv
[HorribleSubs] Space Brothers - 20 [720p].mkv
[HorribleSubs] Space Brothers - 21 [720p].mkv
[HorribleSubs] YuruYuri - 04 [720p].mkv
[HorribleSubs] YuruYuri - 05 [720p].mkv
[SGKK-Ruri] Deadman Wonderland - 01 (1280x720 H264 AAC) [666F0275].mkv
[SGKK-Ruri] Deadman Wonderland - 02 (1280x720 H264 AAC) [CD79F07F].mkv

$ pseudomyth
／人◕ ‿‿ ◕人＼  ＬＥＴ’Ｓ　ＷＡＴＣＨ　１０　ＫＥＩＯＮＳ！
Clannad [10] OP ED
Deadman Wonderland [1, 2]
Persona 4 [25, 26]
Space Brothers [19, 20, 21]
YuruYuri [4, 5]At this stage, if the list of episodes is to your satisfaction, you could hit
enter and pseudomyth would start playing back the first present episode of a
random series. Shows with more present episodes are more likely to be picked.
In the case of (in this example) Clannad, the opening and ending would be
played prior to and following the episode selected.Once an episode has been played, it is moved to a ‘consumed’ subdirectory of
the current working directory and the cycle begins anew. You could, at this
point, either ^C out of the script or hit enter to watch another episode.
Because watched episodes are moved, you can stop and resume between episodes at
will.ConfigurationIf you don’t want to use your system’s default video player or pseudomyth can’t
work out what your system’s default player is, you can configure an alternative
command in a ~/.pseudomyth file. The command is specified as a shell command,
where{filenames}will be replaced with the files (usually just one) to be
played back. For example, mine looks like this:[DEFAULT]
command=mpv -fs {filenames}
Package: pseudonaja
pseudonajaPseudocode interpreterFree software: MIT licenseDocumentation:https://pseudonaja.readthedocs.io.FeaturesTODOCreditsLexer and Parser -SlyThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.2.5 (01/10/2021)Added support for NOT logic operatorAdded For Loop ‘NEXT’ labelPrevent constants from being re-assigned0.2.2 (2021-04-20)Added support for constant and fixed ‘Parser’ has no attribute ‘state’ error0.2.1 (2021-04-13)Fixed bug in function calls.0.1.9 (2021-04-09)First release on PyPI.
Package: pseudo-order-types
PseudoOrderTypesGenerate all pseudo order types for small point sets in the planeWe generate all pseudo order types according toO. Aichholzer, F. Aurenhammer, and H. Krasser. Enumerating Order Types for Small Point Sets with Applications. In Proc. 17th Ann. ACM Symp. Computational Geometry, pages 11-18, Medford, Massachusetts, USA, 2001.While the actual order types are listed herehttp://www.ist.tugraz.at/staff/aichholzer/research/rp/triangulations/ordertypes/the pseudo order types are not available anymore.The packagepseudo_order_typesispipinstallable and allows
iterating over pseudo order types with given number of points as well as
saving and loading them.Dependenciessetuptools,wheel,Cython,memory-allocator.
Package: pseudopeople
pseudopeople is a Python package that generates realistic simulated data about a
fictional United States population, designed for use in testing entity resolution
(record linkage) methods or other data science algorithms at scale.pseudopeople requires Python 3.8-3.11 to runYou can install pseudopeople from PyPI with pip:> pip install pseudopeopleor build it from source with> git clonehttps://github.com/ihmeuw/pseudopeople.git> cd pseudopeople> python setup.py installDocumentationYou can view documentation athttps://pseudopeople.readthedocs.io/en/latest/To receive updates about this software packagejoin the mailing list
here.
Package: pseudoprimes
PseudoprimesTest and find prime numbers.>>>importpseudoprimes>>>pseudoprimes.is_prime(11)True>>>pseudoprimes.is_prime(1022117)# 1009*1013False>>>pseudoprimes.get_prime(128)# 128-bit prime181872728983755108091298489166590324849>>>pseudoprimes.next_prime(3)5>>>pseudoprimes.prev_prime(100)97InstallationpipinstallpseudoprimesProbabilistic or deterministic?The used Miller–Rabin primality test^1is deterministic until ~3.3 * 10^24[^2] (or ~1.37 * 2^81). Numbers larger than that are tested using a probabilistic Baillie–PSW primality test[^3]. While there are no known composite numbers that pass the test, it's believed they exist.[^2]: The exact number is 3,317,044,064,679,887,385,961,981https://oeis.org/A014233[^3]:https://en.wikipedia.org/wiki/Baillie%E2%80%93PSW_primality_test
Package: pseudopy
# PseudoPy [![Build Status](https://travis-ci.org/andrenarchy/pseudopy.png?branch=master)](https://travis-ci.org/andrenarchy/pseudopy)PseudoPy computes and visualizes the pseudospectrum of a matrix. It is a Python version of the original [eigtool](http://www.cs.ox.ac.uk/pseudospectra/eigtool/) by Thomas G. Wright. The algorithms used in this package can be found in the book [Spectra and pseudospectra](http://press.princeton.edu/titles/8113.html) by [Nick Trefethen](http://www.maths.ox.ac.uk/people/profiles/nick.trefethen) and [Mark Embree](http://www.caam.rice.edu/~embree/).## ExampleThe pseudospectrum of the Grcar matrix looks like this:![Pseudospectrum of Grcar matrix](grcar.png)If no knowledge about the location of the pseudospectrum of the given matrix is available, the following lines of code can be used to obtain an approximation:```pythonfrom pseudopy import NonnormalAuto, demofrom matplotlib import pyplotfrom scipy.linalg import eigvals# get Grcar matrixA = demo.grcar(32).todense()# compute pseudospectrum for the levels of interest between [1e-5, 1]pseudo = NonnormalAuto(A, 1e-5, 1)# plotpseudo.plot([10**k for k in range(-4, 0)], spectrum=eigvals(A))pyplot.show()```## Installation### DependenciesPseudoPy depends on numpy, scipy, matplotlib and shapely. If you are on Debian/Ubuntu, you can install these dependencies with```sudo apt-get install python-numpy python-scipy python-matplotlib python-shapely```### pip```pip install pseudopy```Note that you may need to add `sudo` if you want to install it system-wide.## LicensePseudoPy is free software licensed under the [MIT License](http://opensource.org/licenses/mit-license.php).
Package: psex
psexA simple, fast and powerful password scanner engine tool was built by antx.Descriptionpsex is a simple, fast and powerful password scanner engine tool was built by antx. psex also
support some useful features, which like fofa search and parse assets to verify. psex has been built in some weak username and password.Installpip3installpsexUsagePSE Sample:# Title: xxxxxxx# Author: antx-code# Email: 7877940+antx-code@users.noreply.github.comfromloguruimportloggerfromredisimportRedisfrompseximportScannerEnginefrompsex.funcs.assetioimportAssetIOfrompsex.weaksimportweak_passwordsclassScanner(ScannerEngine):def__init__(self):super(Scanner,self).__init__()@logger.catch(level='ERROR')defis_connected(self,connection):"""check if the connection is connected."""try:connection.ping()returnTrueexceptExceptionase:returnFalse@logger.catch(level='ERROR')defcreate_connect(self,*args):"""create a connection."""connection=Redis(host=args[0],port=args[1],password=args[3],db=0,socket_connect_timeout=self.timeout,socket_timeout=self.timeout)returnconnection@logger.catch(level='ERROR')defdia(self):asset_io=AssetIO()ips=asset_io.get_file_assets('input/source_redis.csv')"""or use fofa search and parse assets to verify.grammar = 'xxx'api_key='xxxxxxxxxxxxxxxxxxxxxx'api_email='xxxx@email.com'ips = asset_io.get_fofa_assets(grammar, api_key, api_email, 'fofa_redis.csv')"""passwords=weak_passwords('redis')forpasswordinpasswords:forip_portinips:ip_port=ip_port.strip()ip=ip_port.split(':')[0]port=int(ip_port.split(':')[1])logger.debug(f'Connecting to{ip}......')logger.warning(f'Testing{ip_port}with password: "{password}" !')result=self.poc(ip,port,'',password)ifresult:asset_io.save2file('redis_success',ip,port,'',password)if__name__=='__main__':ds=Scanner()ds.dia()
Package: psf
Psf is a Python library to calculate Point Spread Functions (PSF) for
fluorescence microscopy.The psf library is no longer actively developed.Author:Christoph GohlkeLicense:BSD 3-ClauseVersion:2024.1.6QuickstartInstall the psf package and all dependencies from thePython Package Index:python -m pip install -U psf[all]SeeExamplesfor using the programming interface.Source code and support are available onGitHub.RequirementsThis revision was tested with the following requirements and dependencies
(other versions may work):CPython3.9.13, 3.10.11, 3.11.7, 3.12.1NumPy1.26.3Matplotlib3.8.2
(optional for plotting)Revisions2024.1.6Change PSF.TYPES from dict to set (breaking).2023.4.26Use enums.Derive Dimensions from UserDict.Add type hints.Convert to Google style docstrings.Drop support for Python 3.8 and numpy < 1.21 (NEP29).2022.9.26Fix setup.py.2022.9.12Remove support for Python 3.7 (NEP 29).Update metadata.2021.6.6Remove support for Python 3.6 (NEP 29).2020.1.1Remove support for Python 2.7 and 3.5.Update copyright.2019.10.14Support Python 3.8.2019.4.22Fix setup requirements.Fix compiler warning.ReferencesElectromagnetic diffraction in optical systems. II. Structure of the
image field in an aplanatic system.
B Richards and E Wolf. Proc R Soc Lond A, 253 (1274), 358-379, 1959.Focal volume optics and experimental artifacts in confocal fluorescence
correlation spectroscopy.
S T Hess, W W Webb. Biophys J (83) 2300-17, 2002.Electromagnetic description of image formation in confocal fluorescence
microscopy.
T D Viser, S H Wiersma. J Opt Soc Am A (11) 599-608, 1994.Photon counting histogram: one-photon excitation.
B Huang, T D Perroud, R N Zare. Chem Phys Chem (5), 1523-31, 2004.
Supporting information: Calculation of the observation volume profile.Gaussian approximations of fluorescence microscope point-spread function
models.
B Zhang, J Zerubia, J C Olivo-Marin. Appl. Optics (46) 1819-29, 2007.The SVI-wiki on 3D microscopy, deconvolution, visualization and analysis.https://svi.nl/NyquistRateExamples>>> import psf
>>> args = dict(
...     shape=(32, 32),
...     dims=(4, 4),
...     ex_wavelen=488,
...     em_wavelen=520,
...     num_aperture=1.2,
...     refr_index=1.333,
...     pinhole_radius=0.55,
...     pinhole_shape='round'
... )
>>> obsvol = psf.PSF(psf.GAUSSIAN | psf.CONFOCAL, **args)
>>> obsvol.sigma.ou
(2.588..., 1.370...)
>>> obsvol = psf.PSF(psf.ISOTROPIC | psf.CONFOCAL, **args)
>>> print(obsvol, end='')
PSF
 ISOTROPIC|CONFOCAL
 shape: (32, 32) pixel
 dimensions: (4.00, 4.00) um, (55.64, 61.80) ou, (8.06, 8.06) au
 excitation wavelength: 488.0 nm
 emission wavelength: 520.0 nm
 numeric aperture: 1.20
 refractive index: 1.33
 half cone angle: 64.19 deg
 magnification: 1.00
 underfilling: 1.00
 pinhole radius: 0.550 um, 8.498 ou, 1.1086 au, 4.40 px
 computing time: ... ms
>>> obsvol[0, :3]
array([1.     , 0.51071, 0.04397])
>>> # write the image plane to file
>>> obsvol.slice(0).tofile('_test_slice.bin')
>>> # write a full 3D PSF volume to file
>>> obsvol.volume().tofile('_test_volume.bin')Refer topsf_example.pyin the source distribution for more examples.