Saravanan666/pypi-org huggingface dataset:
Package: nanopack
Easily install all my long read processing and analysis scripts
simultaneously.Installationpip install nanopack## Updatingpip install nanopack--upgradeThese scripts are written and tested for Python3, and may not work on
Python2.ContentScriptsNanoPlot: creating many
relevant plots derived from reads (fastq), alignments (bam) and albacore
summary files. Examples can be found inthe gallery on my
blog.
NanoPack is also available with a graphical user interface inNanoGUIor as aweb
service.NanoComp: comparing multiple
runs on read length and quality based on reads (fastq), alignments (bam)
or albacore summary files.NanoQC: Generating plots to
investigate nucleotide composition and quality distribution at the end
of reads.NanoStat: Quickly create a
statistical summary from reads, an alignment or a summary file.NanoFilt: Streaming script
for filtering a fastq file based on a minimum length, minimum quality
cut-off, minimum and maximum average GC. Also trimming nucleotides from
either read ends is an option.NanoLyse: Streaming script
for filtering a fastq file to remove reads mapping to the lambda phage
genome (control DNA used in nanopore sequencing). Usesminimap2/mappy.Modulesnanoget: Functions for
extracting features from reads, alignments and albacore summary data,
parallelized.nanomath: Functions for
mathematical processing and calculating statistics.Test datananotestprovides small test
datasets in fastq, bam and summary format (not included when installing
NanoPack)## CITATION If you use this tool, please consider citing ourpublication.
Package: nanopandas
For usage you can simplypip install .If developing install nanobind then:cmake-S.-Bbuild
cmake--buildbuildcdbuild/srcYou can then run the test suite from the build folder withpython -m pytest ../../testsUsage:>>>importnanopandasasnanopd>>>arr=nanopd.StringArray(["foo","bar","baz","baz",None])>>>arr.size5>>>arr.nbytes48>>>arr.dtype'large_string[nanoarrow]'>>>arr.to_pylist()['foo','bar','baz','baz',None]>>>arr.unique().to_pylist()['bar','baz','foo']Note that we use utf8proc for string handling:>>>importnanopandasasnanopd>>>arr=nanopd.StringArray(["üàéµ"])>>>arr.upper().to_pylist()['ÜÀÉΜ']>>>arr.capitalize().to_pylist()['Üàéµ']Developing with sanitizers can work. Try this cmake config from the project root:cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DUSE_SANITIZERS=ON
cmake --build build
cd build/src
ASAN_OPTIONS="detect_leaks=0" LD_PRELOAD="$(gcc -print-file-name=libasan.so)" python -m pytest -s ../../tests/
Package: nanopdb
Prerequisites:Rust compiler(installation instructions, it is important to allow installation of Visual Studio C++ Build tools on Windows - this is the default installation procedure),Pythonversion at least 3.7The same tools are required for each operating system. "Visual Studio C++ Build tools" in the case of Windows are required due to the use of the linker (it should be possible to bypass it with the appropriate flags). Check that all required tools are in the path (they are available from the terminal level without having to go to the directories where they were installed).Installation:Create a python virtual environment and activate it,In the activated environment, install:Maturin- the build manager for native python extensions (pip install maturin),Pdoc- the Python documentation generator (pip install pdoc),Go to the project directory (where theCargo.tomlfile is located),Use the commandmaturin develop --release(the library will be compiled with optimizations enabled and installed in the activated environment)Now the library is ready to use (make sure that the environment in which the library was installed is active). The library can also be compiled into a.whlinstallation package using thematurin buildcommand (instructions).Documentation:The HTML documentation for the nanoPDB library is available in thedocsdirectory.Useful VSCode extensions:rust-analyzer (The Rust Programming Language)Even Better TOML (tamasfe)Python (as extension pack)
Package: nanoplotter
nanoplotterThis module provides functions for plotting data extracted from Oxford Nanopore sequencing reads and alignments, but some of it's functions can also be used for other applications.FUNCTIONSCheck if a specified color is a valid matplotlib colorcheckvalidColor(color)Check if a specified output format is validcheckvalidFormat(format)Create a bivariate plot with dots, hexbins and/or kernel density estimates. Also arguments for specifying axis names, color and xlim/ylim.scatter(x, y, names, path, color, format, plots, stat=None, log=False, minvalx=0, minvaly=0)Create cumulative yield plot and evaluate read length and quality over timetimePlots(df, path, color, format)Create length distribution histogram and density curvelengthPlots(array, name, path, n50, color, format, log=False)Create flowcell physical layout in numpy arraymakeLayout()Present the activity (number of reads) per channel on the flowcell as a heatmapspatialHeatmap(array, title, path, color, format)INSTALLATIONpipinstallnanoplotterorconda install -c bioconda nanoplotterCITATIONIf you use this tool, please consider citing ourpublication.
Package: nanopot
NanoPot is a simple TCP honeypot written in Python 3.Source Codehttps://github.com/DevDungeon/NanoPotDocumentationhttps://nanopot.rtfd.ioDocumentation can also be found in thedocs/directory
as reStructuredText files. Build the docs by runningmakein thedocs/directory, then viewingdocs/_build/html/index.html.Live coding of this projecthttps://www.youtube.com/watch?v=77qj9o9pmekhttps://www.youtube.com/DevDungeonAuthorNanoDano <nanodano@devdungeon.com>
Package: nanopq
nanopqNano Product Quantization (nanopq): a vanilla implementation of Product Quantization (PQ) and Optimized Product Quantization (OPQ) written in pure python without any third party dependencies.InstallingYou can install the package via pip. This library works with Python 3.5+ on linux.pip install nanopqDocumentationTutorialAPIExampleimportnanopqimportnumpyasnpN,Nt,D=10000,2000,128X=np.random.random((N,D)).astype(np.float32)# 10,000 128-dim vectors to be indexedXt=np.random.random((Nt,D)).astype(np.float32)# 2,000 128-dim vectors for trainingquery=np.random.random((D,)).astype(np.float32)# a 128-dim query vector# Instantiate with M=8 sub-spacespq=nanopq.PQ(M=8)# Train codewordspq.fit(Xt)# Encode to PQ-codesX_code=pq.encode(X)# (10000, 8) with dtype=np.uint8# Results: create a distance table online, and compute Asymmetric Distance to each PQ-codedists=pq.dtable(query).adist(X_code)# (10000, )AuthorYusuke MatsuiContributors@Hiroshibafixed a bug of importlib (#3)@calvinmccarterimplemented parametric initialization for OPQ (#14)@de9uch1exntended the interface to the faiss so that OPQ can be handled (#19)@mpskeximplemented (1) initialization of clustering and (2) dot-product for computation (#24)@lsbfixed a typo (#26)ReferenceH. Jegou, M. Douze, and C. Schmid, "Product Quantization for Nearest Neighbor Search", IEEE TPAMI 2011(the original paper of PQ)T. Ge, K. He, Q. Ke, and J. Sun, "Optimized Product Quantization", IEEE TPAMI 2014(the original paper of OPQ)Y. Matsui, Y. Uchida, H. Jegou, and S. Satoh, "A Survey of Product Quantization", ITE MTA 2018(a survey paper of PQ)PQ in faiss(Faiss contains an optimized implementation of PQ.See the difference to ours here)Rayuela.jl(Julia implementation of several encoding algorithms including PQ and OPQ)PQk-means(clustering on PQ-codes. The implementation of nanopq is compatible tothat of PQk-means)Rii(IVFPQ-based ANN algorithm using nanopq)Product quantization in Faiss and from scratch(Related tutorial)
Package: nanoprofiler
nanoProfilerA small python profiler using cProfile, pstats, Pandas and matplotlib.nanoProfiler was primarily designed evaluate the internal variations of execution times in codes with variable complexity. But it can also be used with fixed complexity code.InstalationnanoProfiler can be installed with pip:pip install nanoprofileror:python -m pip install nanoprofilerManual instalationClone the repositorygit clone https://gitlab.com/nanogennari/nanoprofiler.gitAnd run setup scriptcd nanoprofiler
python setup.py installUsageUsage example:from nanoprofiler import Profiler

pr = Profiler()

pr.start(name="exec1")
your_code()
pr.stop()

pr.start(name="exec2")
another_code()
pr.stop()

pr.plot_top_time(time="cumtime")
pr.plot_function(time="tottime")
pr.save_data("folder/to/save/results", "prefix_for_files")More details on how to use nanoProfiler can be foundhere.DocumentationDocumentation can be foundhere.
Package: nanopub
nanopubThenanopublibrary provides a high-level, user-friendly python interface for searching, publishing and retracting nanopublications.Nanopublications are a formalized and machine-readable way of communicating the smallest possible units of publishable information. Seethe documentationfor more information.DocumentationCheckout theuser documentation 📖SetupInstall using pip:pip install nanopubTo publish to the nanopub server you need to setup your profile. This allows the nanopub server to identify you. Run the following command in the terminal:np setupThis will ask you a few questions, then it will use that information to add and store RSA keys to sign your nanopublications with, (optionally) publish a nanopublication with your name and ORCID iD to declare that you are using these RSA keys, and store your ORCID iD to automatically add as author to the provenance of any nanopublication you will publish using this library.Quick StartPublishing nanopublicationsfromrdflibimportGraphfromnanopubimportNanopub,NanopubConf,load_profile# 1. Create the confignp_conf=NanopubConf(use_test_server=True,profile=load_profile(),# Loads the user profile that was created with `np setup`add_prov_generated_time=True,attribute_publication_to_profile=True,)# 2. Construct a desired assertion (a graph of RDF triples) using rdflibmy_assertion=Graph()my_assertion.add((rdflib.URIRef('www.example.org/timbernerslee'),rdflib.RDF.type,rdflib.FOAF.Person))# 2. Make a Nanopub object with this assertionnp=Nanopub(conf=np_conf,assertion=my_assertion)# 3. Publish the Nanopub objectnp.publish()print(np)Searching for nanopublicationsfromnanopubimportNanopubClient# Search for all nanopublications containing the text 'fair'results=client.find_nanopubs_with_text('fair')print(results)Fetching nanopublications and inspecting them# Fetch the nanopublication at the specified URIpublication=client.fetch('http://purl.org/np/RApJG4fwj0szOMBMiYGmYvd5MCtRle6VbwkMJUb1SxxDM')# Print the RDF contents of the nanopublicationprint(publication)# Iterate through all triples in the assertion graphfors,p,oinpublication.assertion:print(s,p,o)DevelopmentSee thedevelopment pageon the documentation website.
Package: nanopub-sign
✍️ Nanopub cross-platform toolkit ⚔️This project aims to provide a comprehensive cross-platform toolkit to sign, publish, and checkNanopublications.It is packaged to be used easily through various popular interfaces:⌨️ Binary with a CLI for use in the terminal🦀 Cratenanopubfor Rust🐍 Pip packagenanopub-signfor Python📦️ NPM package@nanopub/signfor JavaScript (compiled to WebAssembly) in the browser, or with NodeJSOn all platforms:🐧 Linux🍎 MacOS🪟 Windows🦊 Web browsers📖 DocumentationCheckout thedocumentation websitefor more details on how to install and use it.
Package: nanopyd
NanoPyDPython NanoID with class typing.Builds a Nano ID per spect defined bythis repo.Installation and Usage:To install:pip install nanopydImport:from nanopyd import NanoIDUsage (with typing):id : NanoID = NanoID()Parameters:alphabet :"alphanumeric"= "_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ""uppercase" = "_-ABCDEFGHIJKLMNOPQRSTUVWXYZ""lowercase" = "_-abcdefghijklmnopqrstuvwxyz""numbers" = "0123456789""no_lookalikes" = "*-23456789abcdefghjkmnpqrstwxyzABCDEFGHJKMNPQRSTWXYZ"size :length of output id, default21
Package: nano-python
This library contains a python wrapper for the Nano (RaiBlocks) RPC server
which tries to make it a little easier to work with by converting RPC responses
to native python ones and exposing a pythonic api for making RPC calls.Also included are utilities such as converting rai/xrb and interesting accountsInstallationpip install nano-pythonDocumentationhttps://nano-python.readthedocs.io/RPC clientYou can browse the availableRPC methods listor check theRPC Client API documentationfor examples of usage.WarningThe RPC clientDOES NOThandle timeouts or retries
automatically since this could lead to unwanted retries of requests
causingdouble spends. Keep this in mind when implementing retries.When using version 10.0 of the RPC node, use the send id when making spends
as described athttps://github.com/nanocurrency/raiblocks/wiki/RPC-protocol#highly-recommended-id>>>importnano>>>rpc=nano.rpc.Client('http://localhost:7076')>>>rpc.version(){'rpc_version':1,'store_version':10,'node_vendor':'RaiBlocks 9.0'}>>>rpc.peers(){'[::ffff:75.171.168.5]:7075':4,'[::ffff:108.44.38.183]:1032':4}Conversion>>>fromnanoimportconvert>>>convert(12,from_unit='XRB',to_unit='raw')Decimal('1.2E+31')>>>convert(0.4,from_unit='krai',to_unit='XRB')Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>ValueError:floatvaluescanleadtounexpectedprecisionloss,pleaseuseaDecimalorstringeg.convert('0.4','krai','XRB')>>>convert('0.4',from_unit='krai',to_unit='XRB')Decimal('0.0004')Known Accounts / Constants>>>fromnanoimportGENESIS_BLOCK_HASH>>>GENESIS_BLOCK_HASH'991CF190094C00F0B68E2E5F75F6BEE95A2E0BD93CEAA4A6734DB9F19B728948'>>>fromnanoimportKNOWN_ACCOUNT_IDS>>>KNOWN_ACCOUNT_IDS['xrb_1ipx847tk8o46pwxt5qjdbncjqcbwcc1rrmqnkztrfjy5k7z4imsrata9est']'Developer Fund'>>>fromnanoimportKNOWN_ACCOUNT_NAMES>>>KNOWN_ACCOUNT_NAMES['Burn']'xrb_1111111111111111111111111111111111111111111111111111hifc8npp'DevelopmentSetupvirtualenv venv
source venv/bin/activate
pip install -r requirements.pip -r requirements-dev.pip
python setup.py developRunning tests# regular
pytest

# coverage
./coverageBuilding docscd docs

# generate once
make html

# live building
make liveMaking a releasevim CHANGELOG.rst # update changes

bumpversion [major|minor|patch]

python setup.py upload
Package: nanoQC
nanoQCQuality control tools for long read sequencing data aiming to replicate some of the plots made by fastQC. This is an immature tool and I welcome all contributions.Creates dynamic plots usingbokeh.
For an example seehereINSTALLATIONpipinstallnanoQCorconda install -c bioconda nanoqcUSAGEnanoQC [-h] [-v] [-o OUTDIR] fastq

positional arguments:
  fastq                 Reads data in fastq.gz format.

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Print version and exit.
  -o, --outdir OUTDIR   Specify directory in which output has to be created.
  -l, --minlen int      Minimum length of reads to be included in the plots
                        This also controls the length plotted in the graphs
                        from the beginning and end of reads (length plotted = minlen / 2)CITATIONIf you use this tool, please consider citing ourpublication.CONTRIBUTIONSThanks to:Jasper Ouwerkerk (JasperO98) for improving how reads are selected (v0.8.0)
Package: nanoqnt
NanoQNTPyThis software is used to analyze the data generated by the nanoQNT device from Dispertech.In a nutshell, it uses Trackpy to localize and link bright spots on a series of images acquired with
a light-sheet microscope. In case of multi-colour images, it uses KD-Tree's to cross-link the particles
and measure the fluorescence intensity in each one.RequirementsImportant requirements for the program:Python 3.9+is required, lower versions will have issues saving the data.Numbais required to speed up the analysis.Work in ProgressThis program is work in progress and subject to change without prior notice.
Package: nanorag
nanoragLibrary ObjectivesBeing a lightweight option of RAG, with just the necessary
dependencies.Focused on RAG with local and open source models, not focused on
API calls.Try out different strategies and data-structures that can be used
to have better results. (Such as dataframes, can try out with polars
as its really performant)Multimodal support, combine image, text and audio to get the best
resultsSolve some of the storage challenges RAG faces, and provide good
solutions for updating documents and embeddings as well as loading
them.Use it as a educational library to demostrate on some of the main
concepts llama-index or other RAG framworks use.The base for the implementation of some agentic strategies I will
try out on other library.InstallpipinstallnanoragLearningYou can take a look at the notebooks to understand how it works.
Package: nanoreactor-processing
Processing of Computational Nanoreactor SimulationsThis package implements various tools to automatically post-process and evaluate nanoreactor MD simulations.Available tools includeAutomated molecule recognition [1] from ab initio nanoreactor simulations [2] based on Wiberg Bond Orders [3]Automated network construction [1]RDKit [4] based event recognitionstored list of reactions for further refinementVisualization tools (plots, molecular grids, PyMOL movie (available only directly from GitHub repository))Install:To install nanoreactor_processing type:$pipinstallnanoreactor-processingRequirements:python >= 3.8numpy >= 1.23scipy >= 1.8pandas >= 1.4networkx >= 2.8matplotlib >= 3.5seaborn >= 0.11pyvis >= 0.2rdkit >= 2021.03.4Basic Usage:To use the functions implemented in nanoreactor_processing you should be able to generate files with the following format from your MD simulation:Trajectory: .xyz fileFormat:1   number of atoms2   TIME: time step3   elem x y z4   elem x y z..Bond order file: only the upper triangular matrix needs to be storedFormat:1   TIME: time step2   wbo(0,1)3   wbo(0,2)4   wbo(0,3)..To start the automated post-processing for your ab initio nanoreactor simulations you have to first create a NanoSim object:importnanoreactor_processingfromnanoreactor_processingimport*fromnanoreactor_processingimportNanoSimfromnanoreactor_processingimportNanoNetworknanoSim=NanoSim(path_to_traj,path_to_bo_file)# apply functions to your newly created object to generate fragments and compute SMILES:nanoSim.generate_frag_lists()nanoSim.generate_mols_smiles()...If you have already generated the fragment file (mols file), then you can also include it as an argument to speed up the evaluation:...nanoSim=NanoSim(path_to_traj,path_to_bo_file,path_to_mols_file)...To generate the reaction network use the stored data frame:...df=read_write_utils.read_trafo_df(path_to_df)reactions_list=nanoreactor_network.construct_reactions_list(df)nanoNet=NanoNetwork()nanoNet.create_network(reactions_list)...If you encounter any problems with the Draw module in RDKit try to add the following line to your script:fromrdkit.Chem.DrawimportIPythonConsoleThe scripts for generating a PyMOL movie from your trajectory and data frame are available only at GitHub as they require
PyMOL as an interpreter. A free version of PyMOL can be installed with:$apt-getinstallpymolDocumentation:Code documentation can be created with pdoc3:$pipinstallpdoc3
$pdoc3--htmlnanoreactor_processing-odoc/References:This work:A. Stan et al., J. Chem. Theory Comput. (2022);https://doi.org/10.1021/acs.jctc.2c00754Other references:L.-P. Wang et al., Nat. Chem. (2014);https://doi.org/10.1038/nchem.2099K. Wiberg, Tetrahedron (1968);https://doi.org/10.1016/0040-4020(68)88057-3G. Landrum, "RDKit: Open-source cheminformatics.https://www.rdkit.org";https://doi.org/10.5281/zenodo.5085999
Package: nanorequests
nanorequestsOverviewThe simplest REST requests package for quick API integration.Thenanorequestspackage is a lightweight wrapper around therequestslibrary, providing simplified HTTP request methods and exception handling.RequirementsThenanorequestspackage requires the following dependencies:requestsInstallationYou can install thenanorequestspackage using pip:pipinstallnanorequestsUsageTo use thenanorequestspackage, you can import it and create an instance of theNanoRequestsclass. This class provides static methods for making different types of HTTP requests.fromnanorequestsimportNanoRequests# Create an instance of NanoRequestsnr=NanoRequests()# Make a GET requestresponse=nr.get('https://dummyjson.com/products')# Make a POST requestpayload={'title':'Nano Requests Python'}response=nr.post('https://dummyjson.com/products/add',json=payload)TheNanoRequestsclass also handles different types of HTTP status codes and raises specific exceptions for each status code. You can catch these exceptions and handle them accordingly.fromnanorequestsimportNanoRequests,NotFoundExceptionnr=NanoRequests()try:response=nr.get('https://dummyjson.com/products/99999')exceptNotFoundExceptionase:print(f"Product not found. Status code:{e.status_code}, Message:{e.message}")ExamplesGET Requestresponse=nr.get('https://dummyjson.com/products/1')print(response)POST Requestpayload={'title':'Viral Parmar'}response=nr.post('https://dummyjson.com/products/add',json=payload)print(response)PUT Requestpayload={'title':'Python Requests PIP'}response=nr.put('https://dummyjson.com/products/1',json=payload)print(response)DELETE Requestresponse=nr.delete('https://dummyjson.com/products/1')print(response)PATCH Requestpayload={'title':'Open Source Python'}response=nr.patch('https://dummyjson.com/products/1',json=payload)print(response)FeaturesThenanorequestspackage provides the following features:Simplified methods for making GET, POST, PUT, DELETE, and PATCH requests.Exception handling for different types of HTTP status codes.Support for JSON responses which are automatically parsed in case of 2XX response.Easy integration with therequestslibrary.Handling Custom ExceptionsfromnanorequestsimportNanoRequests,NotFoundException,UnauthorizedExceptiontry:response=NanoRequests.get('https://dummyjson.com/products/1')print(response)exceptNotFoundExceptionase:print(f'Resource not found:{e}')exceptUnauthorizedExceptionase:print(f'Unauthorized access:{e}')exceptExceptionase:print(f'An unexpected error occurred:{e}')ReferenceFor detailed information on each class and method, please refer to the source code and docstrings of thenanorequestspackage.AuthorThenanorequestspackage is developed and maintained by Viral Parmar.https://twitter.com/viralparmarmehttps://github.com/viralparmarmehttps://pypi.org/user/viralparmarLicenseThis project is licensed under the terms of the MIT license. Please see theLICENSE.txtfile for more information.
Feel free to raise an issue or pull request to support this project.
Package: nanoretrotect
INSTALLATIONpipinstallnanoretrotectUSAGEnanoretrotect[-h][-v][-tTHREADS][-oOUTDIR][-pPREFIX][--verbose][-f{eps,jpeg,jpg,pdf,pgf,png,ps,raw,rgba,svg,svgz,tif,tiff}][--titleTITLE][--hoursHOURS][--summaryfiles[files...]][--bamfiles[files...]]Getdetectioncurveofnanoporeexperiment.Generaloptions:-h,--helpshowthehelpandexit-v,--versionPrintversionandexit.-t,--threadsTHREADSSettheallowednumberofthreadstobeusedbythescript-o,--outdirOUTDIRSpecifydirectoryinwhichoutputhastobecreated.-p,--prefixPREFIXSpecifyanoptionalprefixtobeusedfortheoutputfiles.Optionsforcustomizingtheplotscreated:-f,--format{eps,jpeg,jpg,pdf,pgf,png,ps,raw,rgba,svg,svgz,tif,tiff}Specifytheoutputformatoftheplots.--titleTITLEAddatitletoallplots,requiresquotingifusingspaces--hoursHOURSHowmanyhourstoplotinthegraphInputdatasources,requiresabamandasummaryfile.:--summaryfiles[files...]Dataisasummaryfilegeneratedbyalbacore.--bamfiles[files...]Dataasasortedbamfile.
Package: nanorm
Nanorm : A simple ORM of Python这是一个精简的Python ORM框架。旨在于用一个文件写出ORM，提供开发小型或微型项目时的一些基本功能。为什么要使用nanorm？当你的项目足够小，以至于不想与其他的多余库产生依赖关系，但是你又需要使用一些简单的ORM功能（SQLAlchemy对你来说过于庞大），这时你就可以选择Nanorm。它只有一个py文件，直接把它放在你的项目目录下就行，你甚至可以把它嵌入在你的源代码中。为什么只支持sqlite3？这个ORM的目的只在于解决一些小微项目的需求，sqlite3对于小微项目来说是很好的选择。因为在Python标准库中就有对sqlite3的支持，不需要像使用mysql时那样另外安装mysqldb库。另一方面，你也不用在你的电脑或服务器上安装数据库服务，大多数windows和unix的操作系统都自带了sqlite3的支持。我们的目的就是精简，极简。如何使用？安装：pip install nanorm下面是一个最简单的例子fromnanormimport*set_db_name("example.db")classUser(Model):name=CharField()age=IntegerField(default=20)sex=BooleanField()s1=User()s1.name="Joe"s1.age=45s1.sex=Trues1.save()joe=User.get(age=45)print(joe)具体的高级功能和用法可参照nanorm_example.py文件中各场景的用例