Saravanan666/pypi-org huggingface dataset:
Package: csdncommenter
# CSDN 已下载资源自动批量评论脚本[![PyPi version](https://img.shields.io/pypi/v/csdncommenter.svg)](https://pypi.python.org/pypi/csdncommenter)### 功能自动批量打分评论指定账号内所有下载过待评论的资源。### 用法1. 使用 PyPi```shpip install csdncommentercsdncommenter```2. 使用 Git```shgit clone git@github.com:mzlogin/csdncommenter.gitcd csdncommenter/csdncommenterpython csdncommenter.py```### 已实现特性- [x] 一次登录，评论所有待评论资源。- [x] 适应 CSDN 两个资源评价至少间隔 60S 的规则。- [x] 根据现有评星打分，并根据打分选择对应的评语（目前都是一个英文短句），不会对资源的评星产生不良影响。- [x] 自动处理刚刚下载完需要等待 10 分钟才能评论的情况。```Author : Zhuang MaWebsite: http://mazhuang.orgE-mail : chumpma(at)gmail.com```
Package: csdn-visitors
CSDN刷访客量——csdn_visitorscsdn_visitors快速刷取CSDN访客量项目地址(欢迎star):https://github.com/Amiee-well/csdn_visitors使用方法pip install csdn_visitors一行代码，将网址改为自己的url即可。__import__('csdn_visitors').CSDN.main("https://blog.csdn.net/qq_45414559")网址务必为自己的CSDN网站。
Package: cs.donedukia
READMEOverviewcs.donedukia provides a folderish page that contains an editable field
with rich content and a folderish behaviour to add content inside it.CHANGELOGcs.donedukia - 2.1.2 (2012/11/9)Brown bag release. Fix import
[erral]cs.donedukia - 2.1.1 (2012/11/9)Brown bag release. Fix useless import
[erral]cs.donedukia - 2.1 (2012/11/9)Add DonEdukias to TinyMCE’s Linkable, Folderish and containsanchors
resource types
[erral]Add adding permission for Site Administrators
[erral]Fix CHANGELOG formatting
[erral]Add Plone’s default Folder’s available views as views
for DonEdukia
[erral]Fix folder_listing_donedukia.pt for Plone 4
[erral]cs.donedukia - 2.0.1Remove ZCML registration deprecation warnings
[erral]cs.donedukia - 2.0Drop Plone 2.5 and Plone 3 support, use cs.donedukia < 2.0
for those Plone versions
[erral]Inherit IDonEdukia from IATDocument and IATFolder
[erral]cs.donedukia - 1.2Fix a bug: fieldproperties were not registered in Plone 4
[erral]Remove unused import statements
[erral]Remove deprecation warnings due to code generated for Plone 3.x by ZopeSkel
[erral]cs.donedukia - 1.1Adjustments in template and view to work with Plone 4
[erral]cs.donedukia - 1.0Use z3c.autoinclude to signal this is a Plone package
[erral]cs.donedukia - 0.8-0.9Minor changes
[lur, erral]cs.donedukia - 0.6Add folder_listing view to DonEdukia
[erral]cs.donedukia - 0.5Add properties and sharing tabs to Plone 2.5 profile
[erral]cs.donedukia - 0.4The icon in Plone 2.5.x should be folder_icon.gif and not
folder.gif because of its size.
[erral]Removed the unused attribute showContents to show the contents
of the current DonEdukia. If you want to show the contents
register a new view. It’s not so dificult :)
[erral]cs.donedukia - 0.3Added folder.gif as icon for DonEdukia objects in Plone 2.5 because
there were problems with some getattr(context, ++donedukia.gif++’)
in some Plone templates
[erral]cs.donedukia - 0.2Removed unneeded portlet information
[erral]Added Plone 2.5.x compatibility
[erral]cs.donedukia - 0.1Initial package structure.
[zopeskel]Initial implementation based on folder and documents
[erral]Added support for showing the contained DonEdukias.
[erral]
Package: cse163-utils
This package contains useful methods for CSE 163: Intermediate Data Programming.The most commonly used functions for students will befromcse163_utilsimportdownloaddownload("earthquakes.csv")andfromcse163_utilsimportassert_equalsassert_equals(4,my_function("abc"))Find out more:Book:https://cse163.github.io/book/#Course Website: cs.washington.edu/163Source code:https://github.com/cse163/cse163_utils
Package: cse587Autils
IntroductionThis package stores objects, functions and at some point possibly data for
Michael Brent's CSE 587A: Algorithms for Computational Biology at Washington
University.See the documentation hereInstallationTypical UserThis is on PyPI and may be installed with pip:pipinstallcse587AutilsCutting edge versionIt is possible that thedevbranch is ahead ofmainand thepypiversion.
However,devis not necessarily as stable. Install thedevversion at your
own risk:pipinstallhttps://github.com/Chase-Mateusiak/cse587Autils.git@devDevelopersIf you want to participate in improving this repository, then fork the repo
into your own profile. Issue pull requests againstdev.codespaceA development container is configured such that after you fork the repo, you
can launch a codespace with a pre-configured environment and start coding
right away. Changes you make will be pushed to your fork, and from there you
can issue pull requests against this repo.
Package: csearch
CSearch is a simple source code search engine. It is intended to help
programmers in a small to medium sized organization maintain an
overview over and reuse parts of the various software projects within
the organization.It includesa command line tool that scans through a predefined set of
software projects while building an index of the codea small CherryPy based web interface through which one can search
for words or regular expressions in the code that has been
indexed.
Package: cSecp256k1
fast-curvectypesimplementation for bitcoin curvesecp256k1. It is 100 times faster than pure python implementation and may be even faster if used in lower level development languages.Support this projectBuy Ѧand:Send Ѧ toAUahWfkfr5J4tYakugRbfow7RWVTK35GPWVotearkyonArk blockchainandearn Ѧ weeklyDependenciesUbuntusudoapt-getinstallpython3-devlibgmp3-devlibgmp3WindowsDownloadMsys2andinstallit intoC:\Msysfolder, runMSYS2and execute:pacman-SyuDownloadlibgmparchive and extract it intoC:\Msys\home\{USER}folder. Then, runing MSYS2 from libgmp root folder execute:./condigure
make
makecheck
makeinstallUseC:\Msys\mingw64\python.exeto run install command. The built package
can be moved into any python 3.x distribution path.install commandpython-mpipinstallgit+https://github.com/Moustikitos/fast-curve.gitForWindows users, a built package is availablehere.
Exctract content anywhere in python path defined bysys.path.Versions1.1.1exclusive use ofhash_sha256_sinschnorr.c1.0.6bugfix inbcrypto410_*schnorr signature1.0.5minor C code tweaksminorsetup.pymodule tweaks1.0.4C code improvementcode coverage improvementpydoc-markdown documentation added1.0.4C code improvementcode coverage improvementpydoc-markdown documentation added1.0.3ecdsa signature supportbcrypto 4.10 schnorr signature supportBIP0340 sipashnorr signatures support
Package: c_secp256k1
Bitcoin secp256k1 C library wrapped with CFFI to use with Python2 and PyPy2.BenchmarksThese results are achieved on an Intel Core i5-4200U CPU @ 1.6GHz:cffi took: 0.75secs / 74μs per op  / 13391 signs per sec

cffi took: 1.09secs / 109μs per op  / 9170 recovers per secUsageThis library offers sign, recover and verify from the secp256k1 bitcoin lib used like this:sig = ecdsa_sign_raw(msg32, seckey)

pubkey = ecdsa_recover_raw(msg32, sig)

ecdsa_verify_raw(msg32, sig, pubkey)DependenciesOn Ubuntu:$ sudo apt-get install libssl-dev libffi-dev libtoolInstallationClone repo:git clone https://github.com/czepluch/pysecp256k1.gitInstallTo install package:python setup.py installDevelopmentTo install:python setup.py developTestTo test and install test dependenceis:python setup.py testGenerate source & binary pakacagesTo generate installable source and binary packages:python setup.py sdist bdist_wheel
Package: cs.edit
Convenience functions for editing things.Cameron Simpsoncs@cskk.id.au02jun2016Latest release 20220429:
New edit_obj to edit an object, usually in JSON format.Functionchoose_editor(editor=None, environ=None)Choose an editor,
honouring the$EDITORenvironment variable.Parameters:editor: optional editor,
default fromenviron['EDITOR']or fromEDITOR('vi').environ: optional environment mapping,
defaultos.environFunctionedit(lines, editor=None, environ=None)Write lines to a temporary file, edit the file, return the new lines.The editor is chosen bychoose_editor(editor=editor,environ=environ).Functionedit_obj(o, editor=None, environ=None, to_text=None, from_text=None)Edit the cotents of an objecto.
Return a new object containing the editing contents.
The default transcription is as JSON.The editor is chosen bychoose_editor(editor=editor,environ=environ).Parameters:o: the object whoseto_text: the transcription function of the object to text;
defaultjson.dumpsfrom_text: the transcription function of the object to text;
defaultjson.loadsFunctionedit_strings(strs, editor=None, environ=None)Edit an iterable list ofstr, return tuples of changed string pairs.The editor is chosen bychoose_editor(editor=editor,environ=environ).Release LogRelease 20220429:
New edit_obj to edit an object, usually in JSON format.Release 20191201.1:
Initial PyPI release: assorted functions for invoking editors on strings.
Package: cs.editablefooter
OverviewWe’ve always wanted to edit the footer of Plone providing our
customers’ contact info.We’vealwayscustomized both portal_footer.pt and
portal_colophon.pt in our Plone 2.5.x sites, but now we can hide them
easily hiding plone.footer and plone.colophon viewlets through
@@manage-viewlets or setting a viewlets.xml in an extension profile,
thanks to new viewlet infrastructure in Plone3.This product adds a new viewlet called cs.editablefooter and it’s
added automatically to plone.portalfooter portlet managerIt also creates a new control panel in which you can edit the content
of the viewlet using a WYSIWYG editor.UpgradeFrom version 2.0 on, the permission to edit the contents of the viewlet
has been changed from “Manage portal” to a custom “cs.editablefooter: edit footer”.By default this permission is assigned to Site Administrators and Managers.Go to the Add-on controlpanel and hit upgrade.AuthorMikel Larreategi <mlarreategi@codesyntax.com>
CodeSyntax
2008CreditsThanks Martin Aspeli for writing “Professional Plone Development”Thanks Plone Guys for writing PloneThanks ZC for creating ZopeChangelog2.1.1 (2019-01-21)Release fixes.
[erral]2.1 (2019-01-21)Apply transforms to get UID links rendered
[erral]2.0 (2012/11/19)Add translations
[erral]Create a permission to edit the footer
[erral]1.0.1 (2012/09/03)Close Properly all HTML tags
[erral]1.0 (2012/05/28)Plone 4.1 support
[erral]Previous versionsMultilingual editable footer viewlet
[erral & lur]
Package: cs.editabletagline
cs.editabletagline Package ReadmeOverviewA package that adds a new viewlet in the header. The content of the viewlet
can be edited through the plone control panelcs.editabletagline2.0.1 (2013/02/13)Fix ZCML declaration for edit form with the correct permission2.0 (2013/01/29)Provide a permission to edit the tagline[erral]Add translations[erral]1.0.1 (2012/06/13)Brown bag release
[erral]1.0 (2012/05/31)Plone 4.1 support and documentation
[erral]Previous versionsMultilingual editable footer viewlet
[erral & lur]
Package: c-segment-tree
Segment Tree written in C as a Python ModuleThis is aSegment Treewritten in C, made available as a Python package.It supports basic min/max/sum queries which all happen in log(n) time.
It also supports update queries in log(n) time.Usage Examples> from segtree import Segtree
> obj = Segtree([1, 2, 3, 4, 5], 'sum') # Accepted types: 'sum', 'min', 'max
> obj.sum(0, 3)                         # Gets range sum in log(n) time
> obj.update(0, 50)                     # Updates index 0 to value 50 in log(n) time> from segtree import Segtree
> obj = Segtree([1, 2, 3, 4, 5], 'min')
> obj.min(0, 3)
> obj.update(0, 50)> from segtree import Segtree
> obj = Segtree([1, 2, 3, 4, 5], 'max')
> obj.max(0, 3)
> obj.update(0, 50)
Package: csemver
csemvercsemver is the object orientied optimized Version of semver. It is much more consistent because you only need one object for all operations.FeaturesIncrease VersionsTo increase the different versionscsemverprovides three methodsincMajorincMinorincPatchfromcsemverimportcsemverasVersiona=Version();print(a)a.incMajor();print(a)a.incMinor();print(a)a.incPatch();print(a)foo@bar:~$pythontest.py0.1.01.0.01.1.01.1.1Overwrite VersionTo overwrite the current Version just set a newSemver-Stringforcsemver.numberfromcsemverimportcsemverasVersiona=Version();print(a)a.number="1.0.0-pre+build.1";print(a)foo@bar:~$pythontest.py0.1.01.0.0-pre+build.1Reset VersionDelete thenumberproperty to reset the Version to0.1.0fromcsemverimportcsemverasVersiona=Version("1.0.0");print(a)dela.numberprint(a)foo@bar:~$pythontest.py1.0.00.1.0Compare different versions:You can comparecsemverinstances with>, >=, ==, !=, <=, <fromcsemverimportcsemverasVersiona=Version("1.1.1")b=Version("1.1.1")repr(a)repr(b)print(a<b)b.incPatch()print(b)print(a<b)foo@bar:~$pythontest.py
Version<1.1.1>instanceat0x00000159D2061BA8
Version<1.1.1>instanceat0x00000159D2061DD8
False1.1.2
True
Package: cs.env
Some environment related functions.Latest release 20230407:
getenv: new parse callable parameter to parse the value.LOGDIR, VARRUN, FLAGDIR: lambdas defining standard places used in other modulesenvsub: replace substrings of the form '$var' with the value of 'var' fromenviron.getenv: fetch environment value, optionally performing substitutionFunctionenvsub(s, environ=None, default=None)Replace substrings of the form '$var' with the value of 'var' from environ.Parameters:environ: environment mapping, defaultos.environ.default: value to substitute for unknown vars;
ifdefaultisNoneaValueErroris raised.Functiongetenv(var, default=None, environ=None, dosub=False, parse=None)Fetch environment value.Parameters:var: name of variable to fetch.default: default value if not present. If not specified or None,
raise KeyError.environ: environment mapping, defaultos.environ.dosub: if true, use envsub() to perform environment variable
substitution ondefaultif it used. Default value isFalse.parse: optional callable to parse the environment variable;NOTE: if this raisesValueErrorand there is a default, issue
a warning and returndefaultFunctionLOGDIR(environ=None)various standard locations used in the cs.* modulesRelease LogRelease 20230407:
getenv: new parse callable parameter to parse the value.Release 20190103:Drop getLogin and getHomeDir, unused.Make get_standard_var private as _get_standard_var.Release 20170905.1:
Tweak doco and DISTINFO.Release 20170905:
Add LOGDIR, VARRUN, FLAGDIR wrappers for new get_standard_var function to provide standard policy variables.Release 20160828:
Update metadata with "install_requires" instead of "requires".Release 20150118:
Initial PyPI release.
Package: cse.py
cse.pyAsyncio API wrapper for theGoogle Custom Search JSON API.InstallationPIPpip install -U cse.pyGITpip3 install -U git+https://github.com/Hype3808/cse.pyUsageimportcseclient=cse.Engine("Your API Key")# create the Search client (uses Google by default!)results=awaitclient.search("Python",safesearch=False)# returns a list of cse.Result objectsprint(results[0].title,results[0].description,results[0].url,results[0].image_url)# Title, snippet, URL, and Image URLawaitclient.close()# Run this when cleaning up.Getting image resultsimportcseclient=cse.Engine("Your API Key")# create the Search client (uses Google by default!)results=awaitclient.search("Python",safesearch=False,image_search=True)# returns a list of cse.Result objectsprint(results[0].title,results[0].description,results[0].url,results[0].image_url)# Title, snippet, URL, and Image URLawaitclient.close()# Run this when cleaning up.To use Search objects with a custom search engine, provide the ID of the search engine.cse.Engine("Your API Key",engine_id="015786823554162166929:mywctwj8es4")SafeSearch can also be turned off by settingsafesearch=Falsewhen using thesearch()method.Getting an API keyYou can get an API key by goinghereand scrolling down to theAPI keysection.LinksDocumentionPyPI
Package: csession
CSessionThecsessionpackage implements a simple wrapper class around theSessionclass of therequestsmodule calledCustomSessionthat give more freedom to the
programmer to customize his session by for example setting a default timeout or headers.Installationpip install csessionUsageThe core of the package is theCustomSessionclass which mostly acts just like a normalSessionfromcsessionimportCustomSessioncsess=CustomSession()_=csess.get("http://myurl.com")_=csess.post("http://myurl.com")additionally, theCustomSesionaccepts all the parameters for a request in the constructor to be set as defaultfromcsessionimportCustomSessioncsess=CustomSession(timeout=30,headers={'Content-type':'application/json'})# all upcoming requests will timeout after 30 seconds and have a Content-type json header...theCustomSessioncan also set a default prepare methode to  manipulate the request
before they are sent. This is for example useful for authentication purposes or url prefixing.
Here is a example for a session that is prefixing every request and also adding a default password an appId
to the json body of a requestfromcsessionimportCustomSessionconfig={...}# prepare function accepts methode url and params and also returns those again# params are formatted as a dictdefprepare_microlog_request(methode,url,params):url="https://my-default-url_prefix"+urlparams["json"]=dict(params["json"],**{'appId':config['APP_ID'],'password':config['PASSWORD'],})returnmethode,url,params# Use this Session to make requests to micrologcsess=CustomSession(timeout=100,headers={'Content-type':'application/json'},prepare=prepare_microlog_request)csess.get("/path/to/endpoint")if for a single call the prepare methode should be suppressed you can do:fromcsessionimportCustomSessioncsess=CustomSession(prepare=...)csess.use_prepare=Falsecsess.get("http://www.url_without_prepare.com")csess.use_prepare=Trueor equivalently use the provided context manager:fromcsessionimportCustomSession,without_preparationcsess=CustomSession(prepare=...)withwithout_preparation(csess)assess:sess.get("http://www.url_without_prepare.com")TheCustomSessionalso provides a simple history function in for of a deque.
History is deactivated by default but can be activated in the constructor by settingsave_last_requests=fromcsessionimportCustomSession,without_preparationcsess=CustomSession(save_last_requests=3)# the last 3 requests are storedcsess.get("http://www.myurl.com")print(csess.history)
Package: csfd-parser
# ČSFD ParserParser pro stránky filmů a vyhledávání na [ČSFD](http://www.csfd.cz).## Poznámky[ČSFD](http://www.csfd.cz) je nejznámější Česko-Slovenská filmová databáze. Obsahuje informace o více než čtvrt milionu českých a zahraničních filmů, dále informace o hercích, režisérech atd. Bohužel ale neposkytuje žádné veřejné API pro strojový přístup k datům, žádné webové služby. Jediný způsob, jakým z ní dostat data, je parsováním webových stránek. A přesně k tomu vznikl tento kód.Webové stránky ČSFD mají sice doctype XHTML+RDFa, ale přitom jsem v nich žádné RDFa značky nenašel a dokonce nejsou ani _well-formed_. Nelze je proto přímo zpracovat jako XML. Všechny parsery, které jsem pro ČSFD našel (a jeden z nich jsem kdysi sám napsal), stránky parsují sadou složitých regulérních výrazů. Jejich vymýšlení sice může být poměrně zábavné procvičení mozkových závitů na dlouhé zimní večery, ale následné udržování a upravování při změně designu stránek je nesmírně náročné. Navíc takové řešení není příliš rychlé. Chtěl jsem proto zkusit trochu jiný přístup.Tento parser není postavený na regulérních výrazech, ale místo toho využívá [HTML parser](http://lxml.de/), který ze stránky postaví XML DOM, nad kterým se poté dotazuje přes XPath. Lokalizace požadovaných elementů na stránce je díky XPath neuvěřitelně snadná a výsledný kód je krásně přehledný. Můžete sami porovnat například s [tímto](http://www.phpclasses.org/browse/file/33086.html) kódem.## Požadavky* Python 2.7 / 3.1* [lxml](http://lxml.de/) (testováno na 2.3.1)## UpozorněníPoužívejte tento kód pouze pro vlastní potřebu, nezneužívejte ho pro vykrádání databáze ČSFD!## LicenceTento projekt je uveřejněný pod licencí [LGPL version 3](http://www.gnu.org/licenses/lgpl.txt).## Contributors[Alex Rembish](http://github.com/rembish)
Package: cs.featured
IntroductionNew content-type to reference external things. It has title, HTML description, image
and a URL (external or internal).It’s useful to use it in portlets or custom front-pages, because it easily manageableChangelog1.1.1 (2013-01-24)Fix CHANGELOG [erral]1.1 (2013-01-24)Do not move description field to categorization tab
[libargutxi]1.0 (2013/01/14)Translations
[erral]Use nulladdform in portlet
[erral]0.8 (2012/10/17)Initial release
[erral]0.7 (?????????)Previous versions
[nruiz]
Package: cs.ffmpegutils
Convenience facilities for using FFmpeg (ffmpeg.org),
with invocation viaffmpeg-python.Latest release 20240201:New $FFMPEG_EXE envvar.convert: use $FFMPEG_EXE, return the ffmpeg argv.convert: include the media type in DEFAULT_CONVERSIONS, refactor the choice of codec conversion.convert: supply dummy results if doit is false - could do with some finesse.ffmpeg_docker: use DockerRun.{add_input,add_output}.New main_ffmpeg_docker to support the ffmpeg-docker command, add ffmpeg-docker to DISTINFO scripts.ClassConversionSource(builtins.tuple)ConversionSource(src, srcfmt, start_s, end_s)MethodConversionSource.__new__(_cls, src, srcfmt, start_s, end_s):
Create new instance of ConversionSource(src, srcfmt, start_s, end_s)Functionconvert(*srcs, dstpath: str, doit=True, dstfmt=None, ffmpeg_exe=None, fstags: cs.fstags.FSTags, conversions=None, metadata: Optional[dict] = None, timespans=(), overwrite=False, acodec=None, vcodec=None, extra_opts=None) -> List[str]Transcode video todstpathin FFMPEG compatibledstfmt.Functionffmpeg_docker(*ffmpeg_args: Iterable[str], docker_run_opts: Union[List[str], Mapping, NoneType] = None, doit: Optional[bool] = None, quiet: Optional[bool] = None, ffmpeg_exe: Optional[str] = None, docker_exe: Optional[str] = None, image: Optional[str] = None, outputpath: str = '.') -> Optional[subprocess.CompletedProcess]Invokeffmpegusing docker.ClassFFmpegSourceA representation of anffmpeginput source.Functionffprobe(input_file, *, doit=True, ffprobe_exe='ffprobe', quiet=False)Runffprobe -print_format jsononinput_file,
return format, stream, program and chapter information
as anAttrableMapping(adictsubclass).Functionmain_ffmpeg_docker(argv=None)Theffm[peg-dockercommand line implementation.ClassMetaData(cs.tagset.TagSet, builtins.dict, cs.dateutils.UNIXTimeMixin, cs.lex.FormatableMixin, cs.lex.FormatableFormatter, string.Formatter, cs.mappings.AttrableMappingMixin)Object containing fields which may be supplied to ffmpeg's -metadata option.MethodMetaData.__init__(self, format, **kw):
pylint: disable=redefined-builtinRelease LogRelease 20240201:New $FFMPEG_EXE envvar.convert: use $FFMPEG_EXE, return the ffmpeg argv.convert: include the media type in DEFAULT_CONVERSIONS, refactor the choice of codec conversion.convert: supply dummy results if doit is false - could do with some finesse.ffmpeg_docker: use DockerRun.{add_input,add_output}.New main_ffmpeg_docker to support the ffmpeg-docker command, add ffmpeg-docker to DISTINFO scripts.Release 20231202:
Initial PyPI release.
Package: csFIFO
License:Creative Commons CC-BY-SA 3.0, see README.TXTChanges:1.0  Original Release1.1  Changed write to look like other file operations and return a number1.2  Added threading test and fixed bug with read/write stats, improved inspection slicing1.3  Fix issue with stats printing if FIFO is not writtenImprove debugging if multiple FIFO instances used. Added idle timer1.4  Removed stream parameter from logging.StreamHandler() for python2.6 compatibilityKnown Bugs:None that I know of (eek)Credit:All credit to the posting by Cameron on StackOverflow, here:http://stackoverflow.com/questions/10917581/efficient-fifo-queue-for-arbitrarily-sized-chunks-of-bytes-in-pythonUsage:import csFIFO

f1=csFIFO()
data="Message"
f1.write(data)
size=2
data=f1.read(size)
f1.purge()

f2=csFIFO(max_size=1024*1024)
f2.write("Hello World")
if not f2.isEmpty():
  #Print some stats
  print f2

#Non-destructive inspection
print f2[:5]
print f2[4:8]
print f2[-5:]
print f2.contents()Dependencies:None that I know of