Introducing NestedText, a nice alternative to JSON, YAML, TOML
NestedText is a file format for holding data that is to be entered, edited, or viewed by people. It allows data to be organized into a nested collection of dictionaries, lists, and strings. Similar to YAML, but much simpler. It pairs nicely with voluptuous to create a simple and powerful solution for configuration files. NestedText is a nice alternative to JSON, YAML, and TOML. Documentation: https://nestedtext.org Install: pip install nestedtext Support: https://github.com/KenKundert/nestedtext/issues License: MIT Give it a try. -Ken (nestedt...@shalmirane.com) https://nestedtext.org";>NestedText 1.0A Human Friendly Data Format. (03-Oct-20) ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
Python training in Colorado, June 2007
Python author and trainer Mark Lutz will be teaching another 3-day Python class at a conference center in Longmont, Colorado, on June 11-13, 2007. This is a public training session open to individual enrollments, and covers the same topics as the 3-day onsite sessions that Mark teaches, with hands-on lab work. For more information on this, and our other 2007 public classes, please visit this web page: http://home.earthlink.net/~python-training/longmont-public-classes.htm Thanks for your interest. --Python Training Services -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Python training in Colorado, October 15-17
Python author and trainer Mark Lutz will be teaching another 3-day Python class at a conference center in Longmont, Colorado, on October 15-17, 2008. This is a public training session open to individual enrollments, and covers the same topics as the 3-day onsite sessions that Mark teaches, with hands-on lab work. The class provides an in-depth introduction to Python and its common applications, and parallels the instructor's popular Python books. For more information on this session, please visit its web page: http://home.earthlink.net/~python-training/longmont-public-classes.htm For additional background on the class itself, see our home page: http://home.earthlink.net/~python-training Thanks for your interest. --Python Training Services -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
2009 Python class schedule
A page describing our 2009 Python class offerings has just been posted here: http://home.earthlink.net/~python-training/2009-public-classes.htm The first class in 2009 will be held January 27-30, and is now open for enrollments. These are public classes, open to individuals. They provide in-depth and hands-on introductions to Python and its common applications, and are based upon the instructor's popular Python books. Thanks for your interest, --Mark Lutz at Python Training -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Python training in Colorado, January 27-30
Python author and trainer Mark Lutz will be teaching a 4-day Python class on January 27-30, in Longmont, Colorado. This is a public training session open to individual enrollments, and covers the same topics and hands-on lab work as the onsite sessions that Mark teaches. The class provides an in-depth introduction to both Python and its common applications, and parallels the instructor's popular Python books. For more information on this session, please visit its web page: http://home.earthlink.net/~python-training/2009-public-classes.htm For additional background on the class itself, see our home page: http://home.earthlink.net/~python-training Thanks for your interest, --Python Training Services -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Python training in Colorado, April 27-29
Python author and trainer Mark Lutz will be teaching a 3-day Python class on April 27-29, in Longmont, Colorado. This is a public training session open to individual enrollments, and covers the same topics and hands-on lab work as the onsite sessions that Mark teaches. The class provides an in-depth introduction to both Python and its common applications, and parallels the instructor's popular Python books. For more information on this session, please visit its web page: http://home.earthlink.net/~python-training/2009-public-classes.htm For additional background on the class itself, see our home page: http://home.earthlink.net/~python-training Thanks for your interest, --Python Training Services -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Pythons in Florida (training next month)
Don't miss your chance to attend our first Florida Python training session next month. This 3-day class is being held October 20-22, in Sarasota, Florida. It is open to both individual and group enrollments. For more details on the class, as well as registration instructions, please visit the class web page: http://home.earthlink.net/~python-training/2009-public-classes.htm If you are unable to attend in October, our next Sarasota class is already scheduled for January 19-21. Thanks, and we hope to see you in sunny Florida soon. --Mark Lutz at Python Training Services *Prerequisite reading: http://edition.cnn.com/2009/US/03/30/python.patrol/index.html -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Python training in Florida, January 19-21
Don't miss your chance to attend our upcoming Florida Python training class next month. This 3-day public class is being held January 19-21, in Sarasota, Florida. It is open to both individual and group enrollments. For more details on the class, as well as registration instructions, please visit the class web page: http://home.earthlink.net/~python-training/2010-public-classes.html If you are unable to attend in January, our next Sarasota class is already scheduled for April 6-8. Thanks, and we hope to see you at a Python class in sunny and warm Florida soon. --Mark Lutz at Python Training Services -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ATpy 0.9.4 Release
We are pleased to announce the release of ATpy 0.9.4! ATpy is a high-level Python package providing a generic Table class that can contain data and meta-data, and includes column manipulation, row selection, and sorting methods. In addition, read and write methods are provided to to seamlessly read and write table data to a number of formats, building on existing Python modules. More information and links to download the latest version of ATpy can be found at http://atpy.sourceforge.net/ The main changes in this version are: - support for reading and writing HDF5 files via the h5py package, including support for reading/writing to groups. For more information, see http://atpy.sourceforge.net/format_hdf5.html - support for reading arbitrary ASCII tables via the asciitable package, which includes pre-defined formats such as Machine Readable Tables, RDB tables, and DAOPhot tables. For more information, see http://atpy.sourceforge.net/format_ascii.html - reading in of large FITS tables has been sped up by a factor of 10-20x - minor improvements and bug fixes Bug reports and feature requests should be submitted to the Sourceforge trackers at: https://sourceforge.net/tracker/?group_id=259666 Please do not hesitate to let us know if you encounter any problems with this release, Cheers, Thomas Robitaille and Eli Bressert -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
PythonOnWheels (PoW)
Hi, I am announcing PythonOnWheels. (short PoW) Projectname: PythonOnWheels Motto: We are only on wheels but it feels like having wings ;) A quick and easy to use generative Web framework for python. STOP: I know what you are thinking: " What the world doen't need are more lawyers and python web frameworks" And you are right. But I am announcing this mostly to get feedback from the community. Any feedback is welcome. Some years ago I saw a screencast about ruby on rails and that really blew my mind. I Searched something equivalant for python but found only micro or mega frameworks. So I think there is even some space for PoW. Besides the fun I had and have developing it ;) The idea is to make the developer focus on his/her App instead of the framework. List of Features (not complete) - * Model View Controller * Uses the well proven Ruby On Rails principles ** convention over configuration ** generate_model, generate_controller, generate_migration * Scaffolding dabei ** generate_scaffold * JQuery integration * AJAX * Responsive Layout based on Twitter Bootstrap * Lightweight - simple and easy to use * Nose Tests * automatically generate for you. runtest script to run them * Database Migrations * web app generation with batteries included: ** Session support ** basic authentication (Beta 2) * Runs with Apache & mod_wsgi * includes a ready to run simple_server * full environment on your laptop, mac or pc Coming for Beta 1: - * Observer pattern * Validation (as a plugin) Screencast: - Weblog with PythonOnWheels in 10 minutes. -> http://bit.ly/QAmoxX Homepage: -- http://www.pythononwheels.org Get it on Github: -- https://github.com/pythononwheels/pow_devel/tree/beta1 (Be sure to take the beta1 branch (as of 03.08.20120)) Prerequsites: I did not reinvent the wheel but rely on the brilliant and proven standards out there so PoW (and you) will need: webob (pip or easy_install) Mako (pip or easy_install) Beaker (pip or easy_install) SQLAlchemy (pip or easy_install) nose (pip or easy_install) So, that's all folks ;) I am really appreciating any feedback. reply to this or email to k...@pythononwheels.org. best regards, Klaas -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[ANN] 11ᵗʰ Advanced Scientific Programming in Python in Camerino, Italy, 3—8 September, 2018
11ᵗʰ Advanced Scientific Programming in Python == a Summer School by the G-Node and the University of Camerino https://python.g-node.org Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved, only few scientists have been trained to use them. As a result, instead of doing their research, they spend far too much time writing deficient code and reinventing the wheel. In this course we will present a selection of advanced programming techniques and best practices which are standard in the industry, but especially tailored to the needs of a programming scientist. Lectures are devised to be interactive and to give the students enough time to acquire direct hands-on experience with the materials. Students will work in pairs throughout the school and will team up to practice the newly learned skills in a real programming project — an entertaining computer game. We use the Python programming language for the entire course. Python works as a simple programming language for beginners, but more importantly, it also works great in scientific simulations and data analysis. We show how clean language design, ease of extensibility, and the great wealth of open source libraries for scientific computing and data visualization are driving Python to become a standard tool for the programming scientist. This school is targeted at Master or PhD students and Post-docs from all areas of science. Competence in Python or in another language such as Java, C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of Python and of a version control system such as git, subversion, mercurial, or bazaar is assumed. Participants without any prior experience with Python and/or git should work through the proposed introductory material before the course. We are striving hard to get a pool of students which is international and gender-balanced: see how far we got in previous years <https://python.g-node.org/wiki/archives#stats>! Date & Location === 3–8 September, 2018. Camerino, Italy. Application === You can apply online: https://python.g-node.org/wiki/applications Application deadline: 23:59 UTC, 31 May, 2018. There will be no deadline extension, so be sure to apply on time. Be sure to read the FAQ before applying: https://python.g-node.org/wiki/faq Participation is for free, i.e. no fee is charged! Participants however should take care of travel, living, and accommodation expenses by themselves. Program === • Version control with git and how to contribute to open source projects with GitHub • Best practices in data visualization • Organizing, documenting, and distributing scientific code • Testing scientific code • Profiling scientific code • Advanced NumPy • Advanced scientific Python: decorators, context managers, generators, and elements of object oriented programming • Writing parallel applications in Python • Speeding up scientific code with Cython and numba • Memory-bound computations and the memory hierarchy • Programming in teams Also see the detailed day-by-day schedule: https://python.g-node.org/wiki/schedule Faculty === • Ashwin Trikuta Srinath, Cyberinfrastructure Technology Integration, Clemson University, SC USA • Jenni Rinker, Department of Wind Energy, Technical University of Denmark, Roskilde Denmark • Juan Nunez-Iglesias, Melbourne Bioinformatics, University of Melbourne Australia • Nicolas P. Rougier, Inria Bordeaux Sud-Ouest, Institute of Neurodegenerative Disease, University of Bordeaux France • Pietro Berkes, NAGRA Kudelski, Lausanne Switzerland • Rike-Benjamin Schuppner, Institute for Theoretical Biology, Humboldt-Universität zu Berlin Germany • Tiziano Zito, freelance consultant, Berlin Germany • Zbigniew Jędrzejewski-Szmek, Red Hat Inc., Warsaw Poland Organizers == For the German Neuroinformatics Node of the INCF (G-Node) Germany: • Tiziano Zito, freelance consultant, Berlin Germany • Caterina Buizza, Personal Robotics Lab, Imperial College London UK • Zbigniew Jędrzejewski-Szmek, Red Hat Inc., Warsaw Poland • Jakob Jordan, Department of Physiology, University of Bern, Switzerland Switzerland For the University of Camerino Italy: • Flavio Corradini, Computer Science Division, School of Science and Technology, University of Camerino Italy • Barbara Re, Computer Science Division, School of Science and Technology, University of Camerino Italy Website: https://python.g-node.org Contact: python-i...@g-node.org -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: SPE 0.7.5.c: Improved documentation & bugfixes
With special thanks to Dimitri Pater to contribute his documenation from http://www.serpia.com and Nir Aides for the documentation about the debugger. Also thanks to all Mac donors who bring real Mac support for SPE more and more close. For more info visit the homepage. Stani Spe is a free python IDE with auto indentation & completion, call tips, syntax coloring & highlighting, UML diagrams, class explorer, source index, auto todo list, sticky notes, pycrust shell, file browsers, drag&drop, context help, Blender support, ... Spe ships with Python debugger (remote & encrypted), wxGlade (gui designer), PyChecker (source code doctor) and Kiki (regex console). http://pythonide.stani.be http://pythonide.stani.be/blog http://pythonide.stani.be/screenshots -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
ANN: SPE 0.8.3.c Python IDE editor
This is a maintenance release (mostly bug fixing) to prove that SPE is alive and well! In case you are using wxPython2.7 you'll need to upgrade to this release. Submitted patches will be reviewed and included if approved for next release. Thanks for all your patient support and continuing donations. The SPE 0.8.2.a release got downloaded 110550 times on berlios and sourceforge together. Not bad. This means SPE has not seen an update for a while or is getting very popular. Maybe both ;-) Installers are available for python 2.3, 2.4 and 2.5 for Windows and as a rpm including wxPython. Other operating systems can choose the no-setup.zip or targ.gz archives. A .deb archive is being prepared for Debian Linux systems such as Ubuntu. wxGlade is unfortunately not compatible with wxPython2.7. So if you want to use, you'll need wxPython2.6. :**Fixes**: - output is now done with a fixed font - uml.py is now again a stand alone demo - upgraded and fixed wxGlade - fixed for wxPython2.7 (and still backwards compatible with wxPython2.6) - updated NotebookCtrl :**Contributors**: - Andrea Gavana (NoteBookCtrl) - Alberto Griggio (wxGlade) - Michael Foord (python 2.3 + 2.5 releases for windows) :**Donations**: The development of SPE is driven by donations. Each of these donors receives the pdf manual in thanks for their support of SPE. - James Carroll (60 euro) - John DeRosa (50 euro) - Fumph LLC (50 euro) - Ronald Britton (40 euro) - David Downes (40 euro) - Jorge Carrillo (40 euro) - Nicolas Berney (40 euro) - Francois Schnell (30 euro) - Olivier Cortes (30 euro) - Ayrshire Business Consulting Limited (30 euro) - Chris White (25 euro) - Thomas Wengerek (20 euro) - John Rudolph (20 euro) - Michael O'Keefe (20 euro) - Michael Brickenstein (20 euro) - Richard Walkington (20 euro) - Oliver Tomic (20 euro) - Jose Maria Cortes Arnal (20 euro) - Jeffrey Emminger (20 euro) - Eric Pederson (20 $) - Charles Bosson (15 euro) - Angelo Caruso (15 euro) - Chris Hengge (15 $) - Loïc Allys (15 euro) - Marcin Chojnowski (15 euro) - Boris Krasnoiarov (15 euro) - Paul Furber (15 euro) - Gary Robson (15 euro) - Ralf Wieseler (15 euro) - Samuel Schulenburg (10 euro) - Leland Hulbert II (10 euro) - Javier De La Mata Viader (10 euro) - Dorman Musical Instruments (10 euro) - Jaroslaw Sliwinski (10 euro) - Alessandro Patelli (10 euro) - James Pretorius (10 euro) - Richard Wayne Garganta (10 euro) - Maurizio Bracchitta (10 euro) - Larry Lynch (10 euro) - Kay Fricke (10 euro) - Henrik Binggl (10 euro) - Jerol Harrington (10 euro) - Victor Adan (10 euro) - James Fuqua (10 euro) - Christian Seberino (5 euro) - Serge Smeesters (5 euro) - Jarek Libert (5 euro) - Robin Friedrich (5 euro) - Udo Rabe (5 euro) - Roch Leduc (4 euro) - Rha Diseno y Desarrollo (2 euro) :**Installation**: - See http://pythonide.stani.be/manual/html/manual2.html :**Development**: - http://developer.berlios.de/mail/?group_id=4161 About SPE: SPE is a python IDE with auto-indentation, auto completion, call tips, syntax coloring, uml viewer, syntax highlighting, class explorer, source index, auto todo list, sticky notes, integrated pycrust shell, python file browser, recent file browser, drag&drop, context help, ... Special is its blender support with a blender 3d object browser and its ability to run interactively inside blender. Spe integrates with XRCed (gui designer) and ships with wxGlade (gui designer), PyChecker (source code doctor), Kiki (regular expression console) and WinPdb (remote, multi-threaded debugger). The development of SPE is driven by its donations. Anyone who donates can ask for an nice pdf version of the manual without ads (74 pages). -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
PyCon Ireland 2012 (13th - 14th Oct) - Dublin, Ireland
Hi All, What: PyCon Ireland 2012 Where: Radisson Blu Royal Hotel, Dublin, Ireland When: Sat 13th October - Sun 14th October Tickets are still on sale at: http://python.ie/pycon/2012/registration/ Speakers and talks are now available: http://python.ie/pycon/2012/conference/#talks We are also proud to announce one of our keynote speakers, Alex Bradbury, who will be talking about Raspberry Pi. We would also like to put forward a call to volunteers to help us with sprints, workshops and tutorials. Companies interested in sponsoring PyCon Ireland, please register at: http://python.ie/pycon/2012/callfor/#sponsors In other news, raffle prizes include a pair Raspberry Pi for two lucky student delegates (thanks to Vishal Vatsa and Michael Twomey). Other prizes will be a surprise. #JustSaying Further enquiries, please contact py...@python.ie. Cheers, /// Vicky Twomey-Lee (PyCon Ireland 2012 <http://python.ie/pycon/2012/>) -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
PyCon Ireland Early Bird tickets ending in just over 2 weeks
Hi All, When: 12th - 15th October 2013 Where: Burlington Hotel (conference) / College of Computer Training (sprints), Dublin Early Bird tickets are still available. Just over two weeks left! Ends *June 16th*. Buy yours at http://python.ie/pycon/ If you are interested in any of the sprints, you can register via http://python.ie/pycon/ as well. Call for Proposals <http://bit.ly/speakerpyconie> and Sponsors<http://bit.ly/sponsorpyconie>are still open. If you have any questions, please contact py...@python.ie. Cheers, /// Vicky (PyCon Ireland <http://python.ie/pycon/2013/> co-Chair) Python Ireland <http://python.ie/> co-Chair / Treasurer EuroPython Board<https://ep2012.europython.eu/blog/2012/07/08/change-board-europython-society> PSF member <http://pyfound.blogspot.ie/2012/08/welcome-new-psf-members.html> -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[Python-announce] bor 0.2.0
Announcing bor 0.2.0 = PyPI: https://pypi.org/project/bor/0.2.0/ Pip: ``pip install bor==0.2.0`` Source: https://github.com/furkanonder/bor/ What is wxPython? - Bor is user-friendly, tiny source code searcher written in pure Python. bor currently supports class and def keywords. Other Python keywords will be added in the future releases. bor {keyword} {pattern} By default, bor runs in your current directory. You can run bor with the specific source file or directory: bor {keyword} {pattern} {source_file_or_directory} Examples - bor class Cat Output: Cat at examples/test.py:18 bor class .Cat Output: Cat at examples/test.py:18 BlueCat at examples/test.py:26 Enjoy, Furkan Onderhttps://github.com/furkanonder/ ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] bor 0.2.0
Announcing bor 0.2.0 = PyPI: https://pypi.org/project/bor/0.2.0/ Pip: ``pip install bor==0.2.0`` Source: https://github.com/furkanonder/bor/ What is bor? - Bor is user-friendly, tiny source code searcher written in pure Python. bor currently supports class and def keywords. Other Python keywords will be added in the future releases. bor {keyword} {pattern} By default, bor runs in your current directory. You can run bor with the specific source file or directory: bor {keyword} {pattern} {source_file_or_directory} Examples - bor class Cat Output: Cat at examples/test.py:18 bor class .Cat Output: Cat at examples/test.py:18 BlueCat at examples/test.py:26 Enjoy, Furkan Onderhttps://github.com/furkanonder/ ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] objerve 0.2.0
Announcing objerve 0.2.0 = PyPI: https://pypi.org/project/objerve/0.2.0/ Pip: ``pip install objerve==0.2.0`` Source: https://github.com/furkanonder/objerve/ What is objerve? - Objerve is a tiny observer for Python object attributes that only use one decorator. Example - from objerve import watch @watch(set={"foo", "qux"}, get={"bar", "foo"}) class M: qux = "blue" def __init__(self): self.bar = 55 self.foo = 89 self.baz = 121 m = M() def abc(): m.foo += 10 m.qux = "red" abc() m.foo Output: Set | foo = 89 File "/home/blue/example.py", line 9, in __init__ self.foo = 89 Set | qux = red File "/home/blue/example.py", line 18, in m.qux = "red" Get | foo = 89 File "/home/blue/example.py", line 16, in abc m.foo += 10 Set | foo = 99 File "/home/blue/example.py", line 16, in abc m.foo += 10 Get | foo = 99 File "/home/blue/example.py, line 20, in m.foo Enjoy, Furkan Onderhttps://github.com/furkanonder/ _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] akarsu 0.2.0
What is akarsu? [akarsu](https://github.com/furkanonder/akarsu) is the New Generation Profiler based on [PEP 669](https://peps.python.org/pep-0669/). Installation pip install akarsu (It requires Python 3.12.0+ to run) Example Usage cat example.py > def foo(): > x = 1 > isinstance(x, int) > return x > > def bar(): > foo() > > bar() akarsu -f example.py > Output: > Count Event Type Filename(function) > 1 PY_CALL example.py(bar) > 1 PY_START example.py(bar) > 1 PY_CALL example.py(foo) > 1 PY_START example.py(foo) > 1 C_CALL example.py() > 1 C_RETURN example.py(foo) > 1 PY_RETURN example.py(foo) > 1 PY_RETURN example.py(bar) > > Total number of events: 8 > PY_CALL = 2 > PY_START = 2 > PY_RETURN = 2 > C_CALL = 1 > C_RETURN = 1 The project page: https://github.com/furkanonder/akarsu Enjoy, Furkan Onder > ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] Announcement: TLSSysLogHandler added on PyPI
A new package for extending SysLogHandler with TLS support has been added on PyPI [1]. Modern syslog servers such as rsyslog, syslog-ng and OpenBSD's syslogd have TLS support for secure remote logging. Unfortunately the core python SysLogHandler does not have this functionality yet. TLSSysLogHandler extends the SysLogHandler instead of a re-implementation and allows specifying a new "secure" parameter, which enables using TLS with TCP. The hope is to get TLS functionality into core SysLogHandler after this package is stable. The discussion is present on the forum's [2]. Best, Aisha [1] https://pypi.org/project/tlssysloghandler/ [2] https://discuss.python.org/t/allow-tls-configuration-for-sysloghandler/40785 ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
PSF Python Brochure is ready to print: accepting ad orders now!
The PSF Python Brochure Project has finished the content and layout phase. The first full format pre-production issues were shown at the PSF booth during the EuroPython Conference 2012 in Florence, Italy, and caused a lot of excitement - to print the brochure we now need supporting sponsors. Please visit our website for more information about the brochure project: http://brochure.getpython.info/ This announcement is also available for online reading: http://brochure.getpython.info/news/newsletter-4-ready-to-print-and-order-now The Python brochure is ready to print = Now is the time to place your ad in the brochure! You can benefit from the PSF Python Brochure by buying ads or a reference entry in the brochure, to e.g. show case your company for recruiting purposes or consulting services. With over 10,000 printed copies distributed world-wide this is an excellent way to reach out to new developers and customers. >>> Don't miss the opportunity to place your ad in the very first >>> Python image brochure. Ads === The brochure will have an addendum with 2 double pages for ads. You can buy a half page or a full page ad. You will receive a box of around 120 free copies of the printed brochure after production. We have already sold 4 ads. There is still room for up to 4 half page ads. Reference Entry --- You can also buy a reference entry with a fixed layout on the last two pages of the Python Brochure including your full color logo and contact details. There is room for more than 30 entries. Pricing --- * A half page ad costs EUR 2,650.00 (+ 19% German VAT, if applicable). * A full page ad costs EUR 5,300.00 (+ 19% German VAT, if applicable). * A reference entry can be purchased for EUR 500.00 (+ 19% German VAT, if applicable). Ad Placement We follow "first pay, first serve" until all ad slots are booked. Subsequent orders will be placed on a waiting list for the next edition. Individual ad placement is not possible. Deadline for Data & Approval The deadline for data delivery will be 2012 August 31st. You will receive a professional software proof PDF of your page prior to printing with 2 days left for approval and final corrections. For full technical details regarding data submission, formats and specifications for the ad content, please consult our Ad Guidelines. Ordering Procedure == For the order you will be redirected to the secure SSL encrypted site hosted by our production partner evenios publishing. The terms & conditions and data privacy statement for the order are published on encrypted.evenios.com . Please note that the payment is not processed by the PSF! You will receive an invoice issued by evenios publishing, the company producing and distributing the brochure. Order a half page ad https://encrypted.evenios.com/en/mediadata/cart/order-forms/ad-sponsorship-order-form-1-2-page Order a full page ad https://encrypted.evenios.com/en/mediadata/cart/order-forms/ad-sponsorship-order-form-1-1-page Order a reference entry sponsorship --- https://encrypted.evenios.com/en/mediadata/cart/order-forms/reference-sponsorship-entry-order-form Thanks, -- Marc-Andre Lemburg PSF Python Brochure Team ___ >>> Website:http://brochure.getpython.info/ >>> Twitter: https://twitter.com/pythonbrochure >>> EMail: broch...@getpython.info -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
PSF Python Brochure available as PDF preview. Last chance to order your ad!
The first full format pre-production issues were shown at several Python conferences throughout the last year and caused a lot of excitement among the attendees. The PSF Python Brochure Project has now finished getting all approvals from the content providers, so we can finally publish a PDF preview of the finished brochure for the whole Python community to see. Please visit our website for more information about the brochure project: http://brochure.getpython.info/ This newsletter is also available for online reading: http://brochure.getpython.info/news/newsletter-5-preview-available Finally: After two years in the making, the Python brochure is now available as PDF preview! Please download the PDF preview of the Python brochure and have a look: http://brochure.getpython.info/pdf-preview This is your last chance to place your ad in the brochure = Your will benefit from reaching out to a fantastic audience, including Python developers, Python users and many people from around the world, who don't yet realize what they are missing. This is your chance as a company to be one of the first to get your name out to these new high potential future Python users. You can present your products and consulting services, or show case your company for recruiting purposes. With over 10,000 printed copies distributed world-wide this is an excellent way to reach out to new customers and developers. As additional benefit, you will also receive a box with high quality printed brochures to directly present to your customers or use for recruiting. Don't miss the opportunity to place your ad in this very first Python image brochure. * Ads - The brochure will have an addendum with 2 double pages for ads. You can buy a half page or a full page ad. After production, you will receive a box of around 120 free copies of the printed brochure. We have already sold 6 ads. There is still room for up to 2 half page ads. * Reference Entry - For Python service and consulting companies, we have added a more affordable option in form of a reference listing with fixed layout on the last two pages of the Python Brochure. Each entry will have a full color logo, space for a one line description of the service and contact details. There is room for 30-40 entries. We have already sold 5 reference entries. There is still room for up to 25-35 reference entries. * Pricing - * A half page ad costs EUR 2,650.00 (+ 19% German VAT, if applicable) * A full page ad costs EUR 5,300.00 (+ 19% German VAT, if applicable) * A reference entry can be purchased for EUR 500.00 (+ 19% German VAT, if applicable) * Ad Placement -- We follow "first pay, first serve" until all ad slots are booked. Subsequent orders will be placed on a waiting list for the next edition. Individual ad placement is not possible. Deadline for Data & Approval The deadline for data delivery is April 30 2013. You will receive a professional software proof PDF of your page prior to printing with 2 days left for approval and final corrections. For full technical details regarding data submission, formats and specifications for the ad content, please consult our Ad Guidelines. Ordering Procedure == For the order you will be redirected to the secure SSL encrypted site hosted by our production partner evenios publishing. The terms & conditions and data privacy statement for the order are published on encrypted.evenios.com . Please note that the payment is not processed by the PSF! You will receive an invoice issued by evenios publishing, the company producing and distributing the brochure. Order a half page ad https://encrypted.evenios.com/en/mediadata/cart/order-forms/ad-sponsorship-order-form-1-2-page Order a full page ad https://encrypted.evenios.com/en/mediadata/cart/order-forms/ad-sponsorship-order-form-1-1-page Order a reference entry sponsorship --- https://encrypted.evenios.com/en/mediadata/cart/order-forms/reference-sponsorship-entry-order-form Thanks, -- Marc-Andre Lemburg PSF Vice Chairman / PSF Python Brochure Team ___ >>> Website:http://brochure.getpython.info/ >>> Twitter: https://twitter.com/pythonbrochure >>> EMail: broch...@getpython.info -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
PyCon Ireland 2015 Call for Proposals
Hi All, I am happy to announce that PyCon Ireland will be back in Dublin on* Sat Oct 24 to Sun Oct 25* this year. If you are interested in speaking at the 2-day conference, please submit your proposal via http://python.ie/pycon-2015/call-proposals/. Deadline for talk proposals is *Fri July 31 23:59 (BST)*. If you are interested in running/helping in a workshop or have any enquiries, please email us via cont...@python.ie. Thanks, /// Vicky Twomey-Lee (PyLadies Dublin <https://twitter.com/pyladiesdub> Founder) Python Ireland <http://python.ie/> Member PSF member <http://pyfound.blogspot.ie/2012/08/welcome-new-psf-members.html> | EuroPython Society <https://ep2012.europython.eu/blog/2012/07/08/change-board-europython-society> Board Member Coding Grace <http://codinggrace.com/> co-Founder | GameCraft It <http://gamecraft.it/> co-Founder | WITS <http://witsireland.com/governance/> Board Member -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: PyCLIF 0.3 released
The C++ Language Interface Framework (CLIF) provides a common foundation for creating C++ wrapper generators for various languages. Python generator (PyCLIF) is used widely inside Google. It is available on pypi here: https://pypi.python.org/pypi/pyclif and via git from: https://github.com/google/clif The mailing list is: https://groups.google.com/forum/#!forum/pyclif CLIF is Free Software, licensed under the Apache Software License. It requires Python 2.7 or 3.4 onwards. Major changes since 0.2: - Fix INSTALL.sh for system installation of Google protobuf - Default INSTALL.sh for x86 only - Python: - - include google protobuf support - - make a class iterable by having a nested class __iter__ - - experimental interface / implements statements for multiple template instantiations Happy CLIFing! -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
SQLObject 3.9.1
Hello! I'm pleased to announce version 3.9.1, the first minor feature release of branch 3.9 of SQLObject. What's new in SQLObject === Drivers --- * Adapt to the latest ``pg8000``. * Protect ``getuser()`` - it can raise ``ImportError`` on w32 due to absent of ``pwd`` module. Build - * Change URLs for ``oursql`` in ``extras_require`` in ``setup.py``. Provide separate URLs for Python 2.7 and 3.4+. * Add ``mariadb`` in ``extras_require`` in ``setup.py``. CI -- * For tests with Python 3.4 run ``tox`` under Python 3.5. Tests - * Refactor ``tox.ini``. For a more complete list, please see the news: http://sqlobject.org/News.html What is SQLObject = SQLObject is an object-relational mapper. Your database tables are described as classes, and rows are instances of those classes. SQLObject is meant to be easy to use and quick to get started with. SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite; connections to other backends - Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are lesser debugged). Python 2.7 or 3.4+ is required. Where is SQLObject == Site: http://sqlobject.org Development: http://sqlobject.org/devel/ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: https://pypi.org/project/SQLObject/3.9.1 News and changes: http://sqlobject.org/News.html StackOverflow: https://stackoverflow.com/questions/tagged/sqlobject Example === Create a simple class that wraps a table:: >>> from sqlobject import * >>> >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:') >>> >>> class Person(SQLObject): ... fname = StringCol() ... mi = StringCol(length=1, default=None) ... lname = StringCol() ... >>> Person.createTable() Use the object:: >>> p = Person(fname="John", lname="Doe") >>> p >>> p.fname 'John' >>> p.mi = 'Q' >>> p2 = Person.get(1) >>> p2 >>> p is p2 True Queries:: >>> p3 = Person.selectBy(lname="Doe")[0] >>> p3 >>> pc = Person.select(Person.q.lname=="Doe").count() >>> pc 1 Oleg. -- Oleg Broytmanhttps://phdru.name/ p...@phdru.name Programmers don't die, they just GOSUB without RETURN. ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
PyData/Sparse 0.12.0 Release Announcement
Apologies in advance for the cross-post! I’m happy to announce the release of PyData/Sparse 0.12.0! PyData/Sparse provides sparse arrays with a NumPy-like API for the PyData ecosystem. This is a large release with GCXS support, preliminary CSR/CSC support and extensions to DOK, as well as bugfixes. Changelog: https://sparse.pydata.org/en/stable/changelog.html Documentation: https://sparse.pydata.org/ Source: https://github.com/pydata/sparse/ Best regards, Hameer Abbasi -- Sent from Canary (https://canarymail.io) ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
pytest 6.2.3
pytest 6.2.3 has just been released to PyPI. This is a bug-fix release, being a drop-in replacement. To upgrade:: pip install --upgrade pytest The full changelog is available at https://docs.pytest.org/en/stable/changelog.html. Thanks to all of the contributors to this release: * Bruno Oliveira * Ran Benita Happy testing, The pytest Development Team ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
ANN: distlib 0.3.2 released on PyPI
I've recently released version 0.3.2 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fixed #139: improved handling of errors related to the test PyPI server. * Fixed #140: allowed "Obsoletes" in more scenarios, to better handle faulty metadata already on PyPI. * Fixed #141: removed unused regular expression. * Fixed #143: removed normcase() to avoid some problems on Windows. * Fixed #146: added entry for SourcelessFileLoader to the finder registry. * Fixed #147: permission bits are now preserved on POSIX when installing from a wheel. * Made the generation of scripts more configurable. * Added support for manylinux wheel tags. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.2/ [2] https://distlib.readthedocs.io/en/0.3.2/ [3] https://bitbucket.org/pypa/distlib/issues/new ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce]Announcing sqlalchemy-bigquery 1.0.0
We’re happy to announce the general-availability <https://github.com/googleapis/google-cloud-python/blob/master/README.rst#general-availability> of sqlalchemy-bigquery <https://googleapis.dev/python/sqlalchemy-bigquery/latest/index.html> version 1.0.0, the Google BigQuery dialect for SQLAlchemy <https://www.sqlalchemy.org/>, allowing SQLAlchemy to be used with BigQuery, including schema definition, querying and schema migration with Alembic <https://alembic.sqlalchemy.org/en/latest/>. This release builds on and replaces the earlier pybigquery <https://pypi.org/project/pybigquery/> project. The release can be installed from PyPI python -m pip install sqlalchemy-bigquery==1.0.0 Please share any feedback as an issue on GitHub: https://github.com/googleapis/python-bigquery-sqlalchemy/issues Thanks! * • **Tim Swast* * • *Senior Software Friendliness Engineer, Data & Analytics * • *Google Cloud Developer Relations * • *Chicago, IL, USA _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: Version 0.5.1 of the Python config module has been released.
What Does It Do? The CFG configuration format is a text format for configuration files which is similar to, and a superset of, the JSON format.It has the following aims: * Allow a hierarchical configuration scheme with support for key-value mappings and lists. * Support cross-references between one part of the configuration and another. * Provide a string interpolation facility to easily build up configuration values from other configuration values. * Provide the ability to compose configurations (using include and merge facilities). * Provide the ability to access real application objects safely. * Be completely declarative. It overcomes a number of drawbacks of JSON when used as a configuration format: * JSON is more verbose than necessary. * JSON doesn’t allow comments. * JSON doesn’t provide first-class support for dates and multi-line strings. * JSON doesn’t allow trailing commas in lists and mappings. * JSON doesn’t provide easy cross-referencing, interpolation, or composition. The Python config module provides an interface to work with configuration files written in the CFG format. Comprehensive documentation is available at https://docs.red-dove.com/cfg/index.html and you can report issues / enhancement requests at https://github.com/vsajip/py-cfg-lib/issues As always, your feedback is most welcome (especially bug reports, patches and suggestions for improvement). Enjoy! Cheers, Vinay Sajip ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: distlib 0.3.3 released on PyPI
I've recently released version 0.3.3 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fixed #152: Removed splituser() function which wasn't used and is deprecated. * Fixed #149: Handle version comparisons correctly in environment markers. * Add ARM-64 launchers and support code to use them. Thanks to Niyas Sait and Adrian Vladu for their contributions. * Fixed #148: Handle a single trailing comma following a version. Thanks to Blazej Floch for the report and suggested fix. * Fixed #150: Fix incorrect handling of epochs. * Reverted handling of tags for Python >= 3.10 (use 310 rather than 3_10). This is because PEP 641 was rejected. * Added a GitHub Actions workflow to perform tests. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.3/ [2] https://distlib.readthedocs.io/en/0.3.3/ [3] https://bitbucket.org/pypa/distlib/issues/new _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: A new library for encryption and signing has been released.
A new library called pagesign (Python-age-sign) has been released on PyPI [1]. It covers similar functionality to python-gnupg, but uses the modern encryption tool age [2] and the modern signing tool minisign [3]. The initial release allows you to: * Create and manage identities (which are containers for the keys used for encryption/decryption and signing/verification). * Encrypt and decrypt files to multiple recipients. * Sign files and verify signatures. This release has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links. An alternative download source where the signatures are available is at [4]. Documentation is available at [5]. As always, your feedback is most welcome (especially bug reports [6], patches and suggestions for improvement, or any other points). Enjoy! Cheers Vinay Sajip [1] https://pypi.org/project/pagesign/0.1.0/ [2] https://age-encryption.org/ [3] https://jedisct1.github.io/minisign/ [4] https://bitbucket.org/vinay.sajip/pagesign/downloads/ [5] https://docs.red-dove.com/pagesign/ [6] https://github.com/vsajip/pagesign/issues/new/choose ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: distlib 0.3.4 released on PyPI
I've recently released version 0.3.4 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fixed #153: Raise warnings in get_distributions() if bad metadata seen, but keep going. * Fixed #154: Determine Python versions correctly for Python >= 3.10. * Updated launcher executables with changes to handle duplication logic. Code relating to support for Python 2.6 was also removed (support for Python 2.6 was dropped in an earlier release, but supporting code wasn't removed until now). A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.4/ [2] https://distlib.readthedocs.io/en/0.3.4/ [3] https://bitbucket.org/pypa/distlib/issues/new _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] pytest-7.1.0
pytest-7.1.0 === The pytest team is proud to announce the 7.1.0 release! This release contains new features, improvements, and bug fixes, the full list of changes is available in the changelog: https://docs.pytest.org/en/stable/changelog.html For complete documentation, please visit: https://docs.pytest.org/en/stable/ As usual, you can upgrade from PyPI via: pip install -U pytest Thanks to all of the contributors to this release: * Akuli * Andrew Svetlov * Anthony Sottile * Brett Holman * Bruno Oliveira * Chris NeJame * Dan Alvizu * Elijah DeLee * Emmanuel Arias * Fabian Egli * Florian Bruhin * Gabor Szabo * Hasan Ramezani * Hugo van Kemenade * Kian Meng, Ang * Kojo Idrissa * Masaru Tsuchiyama * Olga Matoula * P. L. Lim * Ran Benita * Tobias Deiminger * Yuval Shimon * eduardo naufel schettino * Éric Happy testing, The pytest Development Team ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] pytest-7.1.1
pytest-7.1.1 === pytest 7.1.1 has just been released to PyPI. This is a bug-fix release, being a drop-in replacement. To upgrade:: pip install --upgrade pytest The full changelog is available at https://docs.pytest.org/en/stable/changelog.html. Thanks to all of the contributors to this release: * Ran Benita Happy testing, The pytest Development Team ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: A new version (0.4.9) of python-gnupg has been released.
What Changed? = This is an enhancement and bug-fix release, and all users are encouraged to upgrade. Brief summary: * Fixed #161: Added a status attribute to the returned object from gen_key() which is set to 'ok' if a key was successfully created, or 'key not created' if that was reported by gpg, or None in any other case. * Fixed #164: Provided the ability to add subkeys. Thanks to Daniel Kilimnik for the feature request and patch. * Fixed #166: Added keygrip values to the information collected when keys are listed. Thanks to Daniel Kilimnik for the feature request and patch. * Fixed #173: Added extra_args to send_keys(), recv_keys() and search_keys() to allow passing options relating to key servers. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links. The source code repository is at [1]. An alternative download source where the signatures are available is at [4]. Documentation is available at [5]. As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via this group). Enjoy! Cheers Vinay Sajip [1] https://github.com/vsajip/python-gnupg [2] https://pypi.org/project/python-gnupg/0.4.9 [3] https://github.com/vsajip/python-gnupg/issues [4] https://github.com/vsajip/python-gnupg/releases/ [5] https://docs.red-dove.com/python-gnupg/ _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: distlib 0.3.5 released on PyPI
I've recently released version 0.3.5 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fixed #161: Updated test case. * Fixed #164: Improved support for reproducible builds by allowing a fixed date/time to be inserted into created .exe files. Thanks to Somber Night for the patch. * Fixed #169: Removed usage of deprecated imp module in favour of importlib. * Fixed #170: Corrected implementation of ``get_required_dists()``. * Fixed #172: Compute ABI correctly for Python < 3.8. * Changed the default locator configuration. * Made updates in support of PEP 643 / Metadata 2.2. * Updated launcher executables. Thanks to Michael Bikovitsky for his help with the launcher changes. * Updated to write archive path of RECORD to RECORD instead of staging path. Thanks to Pieter Pas for the patch. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.5/ [2] https://distlib.readthedocs.io/en/0.3.5/ [3] https://github.com/pypa/distlib/issues/new/choose ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: A new version (0.5.0) of python-gnupg has been released.
What Changed? = This is an enhancement and bug-fix release, and all users are encouraged to upgrade. Brief summary: * Fixed #181: Added the ability to pass file paths to encrypt_file, decrypt_file, sign_file, verify_file, get_recipients_file and added import_keys_file. * Fixed #183: Handle FAILURE and UNEXPECTED conditions correctly. Thanks to sebbASF for the patch. * Fixed #185: Handle VALIDSIG arguments more robustly. * Fixed #188: Remove handling of DECRYPTION_FAILED from Verify code, as not required there. Thanks to sebbASF for the patch. * Fixed #190: Handle KEY_CREATED more robustly. * Fixed #191: Handle NODATA messages during verification. * Fixed #196: Don't log chunk data by default, as it could contain sensitive information (during decryption, for example). * Added the ability to pass an environment to the gpg executable. Thanks to Edvard Rejthar for the patch. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links. The source code repository is at [1]. An alternative download source where the signatures are available is at [4]. Documentation is available at [5]. As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via this group). Enjoy! Cheers Vinay Sajip [1] https://github.com/vsajip/python-gnupg [2] https://pypi.org/project/python-gnupg/0.5.0 [3] https://github.com/vsajip/python-gnupg/issues [4] https://github.com/vsajip/python-gnupg/releases/ [5] https://docs.red-dove.com/python-gnupg/ _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] pytest-7.3.0
pytest-7.3.0 === The pytest team is proud to announce the 7.3.0 release! This release contains new features, improvements, and bug fixes, the full list of changes is available in the changelog: https://docs.pytest.org/en/stable/changelog.html For complete documentation, please visit: https://docs.pytest.org/en/stable/ As usual, you can upgrade from PyPI via: pip install -U pytest Thanks to all of the contributors to this release: * Aaron Berdy * Adam Turner * Albert Villanova del Moral * Alessio Izzo * Alex Hadley * Alice Purcell * Anthony Sottile * Anton Yakutovich * Ashish Kurmi * Babak Keyvani * Billy * Brandon Chinn * Bruno Oliveira * Cal Jacobson * Chanvin Xiao * Cheuk Ting Ho * Chris Wheeler * Daniel Garcia Moreno * Daniel Scheffler * Daniel Valenzuela * EmptyRabbit * Ezio Melotti * Felix Hofstätter * Florian Best * Florian Bruhin * Fredrik Berndtsson * Gabriel Landau * Garvit Shubham * Gergely Kalmár * HTRafal * Hugo van Kemenade * Ilya Konstantinov * Itxaso Aizpurua * James Gerity * Jay * John Litborn * Jon Parise * Jouke Witteveen * Kadino * Kevin C * Kian Eliasi * Klaus Rettinghaus * Kodi Arfer * Mahesh Vashishtha * Manuel Jacob * Marko Pacak * MatthewFlamm * Miro Hrončok * Nate Meyvis * Neil Girdhar * Nhieuvu1802 * Nipunn Koorapati * Ofek Lev * Paul Kehrer * Paul Müller * Paul Reece * Pax * Pete Baughman * Peyman Salehi * Philipp A * Pierre Sassoulas * Prerak Patel * Ramsey * Ran Benita * Robert O'Shea * Ronny Pfannschmidt * Rowin * Ruth Comer * Samuel Colvin * Samuel Gaist * Sandro Tosi * Santiago Castro * Shantanu * Simon K * Stefanie Molin * Stephen Rosen * Sviatoslav Sydorenko * Tatiana Ovary * Teejay * Thierry Moisan * Thomas Grainger * Tim Hoffmann * Tobias Diez * Tony Narlock * Vivaan Verma * Wolfremium * Yannick PÉROUX * Yusuke Kadowaki * Zac Hatfield-Dodds * Zach OBrien * aizpurua23a * bitzge * bluthej * gresm * holesch * itxasos23 * johnkangw * q0w * rdb * s-padmanaban * skhomuti * sommersoft * vin01 * wim glenn * wodny * zx.qiu Happy testing, The pytest Development Team ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] pytest-7.3.2
pytest 7.3.2 has just been released to PyPI. This is a bug-fix release, being a drop-in replacement. To upgrade:: pip install --upgrade pytest The full changelog is available at https://docs.pytest.org/en/stable/changelog.html. Thanks to all of the contributors to this release: * Adam J. Stewart * Alessio Izzo * Bruno Oliveira * Ran Benita Happy testing, The pytest Development Team ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] pytest-7.4.0
The pytest team is proud to announce the 7.4.0 release! This release contains new features, improvements, and bug fixes, the full list of changes is available in the changelog: https://docs.pytest.org/en/stable/changelog.html For complete documentation, please visit: https://docs.pytest.org/en/stable/ As usual, you can upgrade from PyPI via: pip install -U pytest Thanks to all of the contributors to this release: * Adam J. Stewart * Alessio Izzo * Alex * Alex Lambson * Brian Larsen * Bruno Oliveira * Bryan Ricker * Chris Mahoney * Facundo Batista * Florian Bruhin * Jarrett Keifer * Kenny Y * Miro Hrončok * Ran Benita * Roberto Aldera * Ronny Pfannschmidt * Sergey Kim * Stefanie Molin * Vijay Arora * Ville Skyttä * Zac Hatfield-Dodds * bzoracler * leeyueh * nondescryptid * theirix Happy testing, The pytest Development Team ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] Announcement: distlib 0.3.7 released on PyPI
Version 0.3.7 of distlib has recently been released on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Handle bare newlines when parsing metadata. * Use version comparison logic for python_full_version. * Fix shebang computation for source builds of Python. * Extract tarfiles more safely by incorporating tarfile filters. * Check for 'has_cert' attribute before using it. * Fix #200: Improve conformance to PEP440. * Fix #203: Handle parsing of export entries to allow script names such as "," or ",foo". A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker at [3]. Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.7/ [2] https://distlib.readthedocs.io/en/0.3.7/overview.html#change-log-for-distlib [3] https://github.com/pypa/distlib/issues/new/choose _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: A new version (0.5.1) of python-gnupg has been released.
What Changed? = This is an enhancement and bug-fix release, and all users are encouraged to upgrade. Brief summary: * Added TRUST_EXPIRED to trust_keys. * Fix #206: Remove deprecated --always-trust in favour of --trust-model always * Fix #208: Add status_detail attribute to result objects which is populated when the status is 'invalid recipient' (encryption/decryption) or 'invalid signer' (signing). This attribute will be set when the result object's status attribute is set to 'invalid recipient' and will contain more information about the failure in the form of reason:ident where reason is a text description of the reason, and ident identifies the recipient key. * Add scan_keys_mem() function to scan keys in a string. * Fix #214: Handle multiple signatures when one of them is invalid or unverified. * A problems attribute was added which holds problems reported by gpg during verification. This is a list of dictionaries, one for each reported problem. Each dictionary will have status and keyid keys indicating the problem and the corresponding key; other information in the dictionaries will be error specific. * Fix #217: Use machine-readable interface to query the gpg version. * Added the ability to export keys to a file. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links. An alternative download source where the signatures are available is at [4]. The source code repository is at [1]. Documentation is available at [5]. As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via this group). Enjoy! Cheers Vinay Sajip [1] https://github.com/vsajip/python-gnupg [2] https://pypi.org/project/python-gnupg/0.5.1 [3] https://github.com/vsajip/python-gnupg/issues [4] https://github.com/vsajip/python-gnupg/releases/ [5] https://docs.red-dove.com/python-gnupg/ _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] Announcement: distlib 0.3.8 released on PyPI
Version 0.3.8 of distlib has recently been released on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fix #204: use symlinks in venv creation during test. * Fix #208: handle deprecation removals in Python 3.13. * Fix #209: use legacy version implementation for Python versions. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker at [3]. Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.8/ [2] https://distlib.readthedocs.io/en/latest/overview.html#change-log-for-distlib [3] https://github.com/pypa/distlib/issues/new/choose ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] ANN: A new version (0.5.2) of python-gnupg has been released.
What Changed?= This is an enhancement and bug-fix release, and all users are encouraged to upgrade. Brief summary: * Fix #228: Clarify documentation for encryption/decryption. * Make I/O buffer size configurable via buffer_size attribute on a GPG instance. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links. An alternative download source where the signatures are available is at [4]. The source code repository is at [1]. Documentation is available at [5]. As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via this group). Enjoy! Cheers Vinay Sajip [1] https://github.com/vsajip/python-gnupg [2] https://pypi.org/project/python-gnupg/0.5.2 [3] https://github.com/vsajip/python-gnupg/issues [4] https://github.com/vsajip/python-gnupg/releases/ [5] https://docs.red-dove.com/python-gnupg/ ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[ANN] Python 3 Cheat Sheet v2.0
Hello, I just updated my one recto-verso sheet Python 3 Cheat Sheet https://perso.limsi.fr/pointal/python:memento Many modifications and enhancements (bytes, literal ints, assignment complement, conversion tricks, cleaning sequences indexing, complement on boolean logic, modules import, exceptions, small organization charts for flow control, complement on list dict set methods, string methods, complment on files). Still available in english and in french. As the document become more dense, old version is kept online if prefered. A+ L.Pointal. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: A new version (0.3.9) of python-gnupg has been released.
A new version of the Python module which wraps GnuPG has been released. What Changed? = This is an enhancement and bug-fix release, and all users are encouraged to upgrade. See the project website [1] for more information. Brief summary: * Fixed #38: You can now request information about signatures against keys. Thanks to SunDwarf for the suggestion and patch, which was used as a basis for this change. * Fixed #49: When exporting keys, no attempt is made to decode the output when armor=False is specified. * Fixed #53: A ``FAILURE`` message caused by passing an incorrect passphrase is handled. * Handled ``EXPORTED`` and ``EXPORT_RES`` messages while exporting keys. Thanks to Marcel Pörner for the patch. * Fixed #54: Improved error message shown when gpg is not available. * Fixed #55: Added support for ``KEY_CONSIDERED`` while verifying. * Avoided encoding problems with filenames under Windows. Thanks to Kévin Bernard-Allies for the patch. * Fixed #57: Used a better mechanism for comparing keys. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 What Does It Do? The gnupg module allows Python programs to make use of the functionality provided by the Gnu Privacy Guard (abbreviated GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, digitally sign documents and verify digital signatures, manage (generate, list and delete) encryption keys, using proven Public Key Infrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as it makes use of the subprocess module which appeared in that version of Python. This module is a newer version derived from earlier work by Andrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg >>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory') >>> gpg.list_keys() [{ ... 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', 'keyid': '197D5DAC68F1AAB2', 'length': '1024', 'type': 'pub', 'uids': ['', 'Gary Gross (A test user) ']}, { ... 'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', 'keyid': '0C5FEFA7A921FC4A', 'length': '1024', ... 'uids': ['', 'Danny Davis (A test user) ']}] >>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A']) >>> str(encrypted) '-BEGIN PGP MESSAGE-\nVersion: GnuPG v1.4.9 (GNU/Linux)\n \nhQIOA/6NHMDTXUwcEAf . -END PGP MESSAGE-\n' >>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret') >>> str(decrypted) 'Hello, world!' >>> signed = gpg.sign("Goodbye, world!", passphrase='secret') >>> verified = gpg.verify(str(signed)) >>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via the mailing list/discussion group [4]). Enjoy! Cheers Vinay Sajip Red Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg [2] https://pypi.python.org/pypi/python-gnupg/0.3.9 [3] https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] https://groups.google.com/forum/#!forum/python-gnupg -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.2.4 released on PyPI
I've just released version 0.2.4 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Updated to not fail during import if SSL is not available. * Changed project name comparisons to follow PEP 503. * Changed manifest and resources logic to work correctly under (upcoming) Python 3.6. * Updated Windows launchers with fixes to bugs related to argument-passing in shebang lines. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.python.org/pypi/distlib/0.2.4 [2] https://goo.gl/M3kQzR [3] https://bitbucket.org/pypa/distlib/issues/new -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: A new version (0.4.0) of python-gnupg has been released.
A new version of the Python module which wraps GnuPG has been released. What Changed? = This is an enhancement and bug-fix release, and all users are encouraged to upgrade. See the project website [1] for more information. Brief summary: * Added support for ``KEY_CONSIDERED`` in more places - encryption / decryption, signing, key generation and key import. * Partial fix for #32 (GPG 2.1 compatibility). Unfortunately, better support cannot be provided at this point, unless there are certain changes (relating to pinentry popups) in how GPG 2.1 works. * Fixed #60: An IndexError was being thrown by ``scan_keys()``. * Ensured that utf-8 encoding is used when the ``--with-column`` mode is used. Thanks to Yann Leboulanger for the patch. * ``list_keys()`` now uses ``--fixed-list-mode``. Thanks to Werner Koch for the pointer. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 What Does It Do? The gnupg module allows Python programs to make use of the functionality provided by the Gnu Privacy Guard (abbreviated GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, digitally sign documents and verify digital signatures, manage (generate, list and delete) encryption keys, using proven Public Key Infrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as it makes use of the subprocess module which appeared in that version of Python. This module is a newer version derived from earlier work by Andrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg >>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory') >>> gpg.list_keys() [{ ... 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', 'keyid': '197D5DAC68F1AAB2', 'length': '1024', 'type': 'pub', 'uids': ['', 'Gary Gross (A test user) ']}, { ... 'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', 'keyid': '0C5FEFA7A921FC4A', 'length': '1024', ... 'uids': ['', 'Danny Davis (A test user) ']}] >>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A']) >>> str(encrypted) '-BEGIN PGP MESSAGE-\nVersion: GnuPG v1.4.9 (GNU/Linux)\n \nhQIOA/6NHMDTXUwcEAf . -END PGP MESSAGE-\n' >>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret') >>> str(decrypted) 'Hello, world!' >>> signed = gpg.sign("Goodbye, world!", passphrase='secret') >>> verified = gpg.verify(str(signed)) >>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via the mailing list/discussion group [4]). Enjoy! Cheers Vinay Sajip Red Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg [2] https://pypi.python.org/pypi/python-gnupg/0.4.0 [3] https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] https://groups.google.com/forum/#!forum/python-gnupg -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Update to Python 3 Cheat Sheet
Hi, I updated the cheat sheet on the aesthetic side. Parts bloc and their title are now more easily identified with colors (but its nice with B&W printing too). French and german versions have also been updated. See https://perso.limsi.fr/pointal/python:memento A+ L.Pointal. -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.2.5 released on PyPI
I've just released version 0.2.5 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Changed regular expressions to be compatible with 3.6 as regards escape sequences. * Closed some resource leaks related to XML-RPC proxies. * Changed wheel processing to look for metadata in metadata.json as well as pydist.json. * Updated requirement and marker parsing to be compatible with PEP 508. * Made downloadability a factor in scoring URLs for preferences. * Removed Python 2.6 from the support list. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.python.org/pypi/distlib/0.2.5 [2] https://goo.gl/M3kQzR [3] https://bitbucket.org/pypa/distlib/issues/new -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: A new version (0.4.1) of python-gnupg has been released.
A new version of the Python module which wraps GnuPG has been released. What Changed? = This is an enhancement and bug-fix release, and all users are encouraged to upgrade. See the project website [1] for more information. Brief summary: * Updated message handling logic to no longer raise exceptions when a message isn't recognised. Thanks to Daniel Kahn Gillmor for the patch. * Always use always use --fixed-list-mode, --batch and --with-colons. Thanks to Daniel Kahn Gillmor for the patch. * Improved scan_keys() handling on GnuPG >= 2.1. Thanks to Daniel Kahn Gillmor for the patch. * Improved test behaviour with GnuPG >= 2.1. Failures when deleting test directory trees are now ignored. Thanks to Daniel Kahn Gillmor for the patch. * Added close_file keyword argument to verify_file to allow the file closing to be made optional. Current behaviour is maintained - close_file=False can be passed to skip closing the file being verified. * Added the extra_args keyword parameter to allow custom arguments to be passed to the gpg executable. * Instances of the GPG class now have an additional on_data attribute, which defaults to None. It can be set to a callable which will be called with a single argument - a binary chunk of data received from the gpg executable. The callable can do whatever it likes with the chunks passed to it - e.g. write them to a separate stream. The callable should not raise any exceptions (unless it wants the current operation to fail). This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 What Does It Do? The gnupg module allows Python programs to make use of the functionality provided by the Gnu Privacy Guard (abbreviated GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, digitally sign documents and verify digital signatures, manage (generate, list and delete) encryption keys, using proven Public Key Infrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as it makes use of the subprocess module which appeared in that version of Python. This module is a newer version derived from earlier work by Andrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg >>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory') >>> gpg.list_keys() [{ ... 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', 'keyid': '197D5DAC68F1AAB2', 'length': '1024', 'type': 'pub', 'uids': ['', 'Gary Gross (A test user) ']}, { ... 'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', 'keyid': '0C5FEFA7A921FC4A', 'length': '1024', ... 'uids': ['', 'Danny Davis (A test user) ']}] >>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A']) >>> str(encrypted) '-BEGIN PGP MESSAGE-\nVersion: GnuPG v1.4.9 (GNU/Linux)\n \nhQIOA/6NHMDTXUwcEAf . -END PGP MESSAGE-\n' >>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret') >>> str(decrypted) 'Hello, world!' >>> signed = gpg.sign("Goodbye, world!", passphrase='secret') >>> verified = gpg.verify(str(signed)) >>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via the mailing list/discussion group [4]). Please refer to the documentation [5] for more information. Enjoy! Cheers Vinay Sajip Red Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg [2] https://pypi.python.org/pypi/python-gnupg/0.4.1 [3] https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] https://groups.google.com/forum/#!forum/python-gnupg [5] https://gnupg.readthedocs.io/en/latest/ -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.2.6 released on PyPI
I've just released version 0.2.6 of distlib on PyPI [1]. For newcomers,distlib is a library of packaging functionality which is intended to beusable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fixed #99: Updated to handle a case where sys.getfilesystemencoding() returns None. * Fixed #97: Eliminated a crash in EggInfoDistribution.list_distinfo_files() which was caused by trying to open a non-existent file. * Fixed #96: SimpleScrapingLocator no longer fails prematurely when scraping links due to invalid versions. * Improved error messages issued when interpreting markers. * Improved the shebangs written into installed scripts when the interpreter path is very long or contains spaces (to cater for a limitation in shebang line parsing on Linux). * Updated launcher binaries. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions forimprovements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.python.org/pypi/distlib/0.2.6[2] https://goo.gl/M3kQzR[3] https://bitbucket.org/pypa/distlib/issues/new -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: A new version (0.4.2) of python-gnupg has been released.
A new version of the Python module which wraps GnuPG has been released. What Changed? = This is an enhancement and bug-fix release, and all users are encouraged to upgrade. See the project website [1] for more information. Brief summary: * Subkey information is now collected and returned in a subkey_info dictionary keyed by the subkey's ID. * GPG2 version is now correctly detected on OS X. * Added expect_passphrase keyword argument for use on GnuPG >= 2.1 when passing passphrase to gpg via pinentry. * Provided a trust_keys method to allow setting the trust level for keys. Thanks to William Foster for a suggested implementation. * Made the exception message when the gpg executable is not found contain the path of the executable that was tried. Thanks to Kostis Anagnostopoulos for the suggestion. * Made the error message less categorical in the case of a failure with an unspecified reason, adding some information from gpg error codes when available. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 What Does It Do? The gnupg module allows Python programs to make use of the functionality provided by the Gnu Privacy Guard (abbreviated GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, digitally sign documents and verify digital signatures, manage (generate, list and delete) encryption keys, using proven Public Key Infrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as it makes use of the subprocess module which appeared in that version of Python. This module is a newer version derived from earlier work by Andrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg >>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory') >>> >>> gpg.list_keys() [{ ... 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', 'keyid': '197D5DAC68F1AAB2', 'length': '1024', 'type': 'pub', 'uids': ['', 'Gary Gross (A test user) ']}, { ... 'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', 'keyid': '0C5FEFA7A921FC4A', 'length': '1024', ... 'uids': ['', 'Danny Davis (A test user) ']}] >>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A']) >>> str(encrypted) '-BEGIN PGP MESSAGE-\nVersion: GnuPG v1.4.9 (GNU/Linux)\n \nhQIOA/6NHMDTXUwcEAf . -END PGP MESSAGE-\n' >>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret') >>> str(decrypted) 'Hello, world!' >>> signed = gpg.sign("Goodbye, world!", passphrase='secret') >>> verified = gpg.verify(str(signed)) >>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via the mailing list/discussion group [4]). Please refer to the documentation [5] for more information. Enjoy! Cheers Vinay Sajip Red Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg [2] https://pypi.python.org/pypi/python-gnupg/0.4.2 [3] https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] https://groups.google.com/forum/#!forum/python-gnupg [5] https://gnupg.readthedocs.io/en/latest/ -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.2.7 released on PyPI
I've just released version 0.2.7 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Addressed #102: InstalledDistributions now have a modules attribute which is a list of top-level modules as read from top_level.txt, if that is in the distribution info. * Fixed #103: Now https downloads are preferred to those over http. Thanks to Saulius Žemaitaitis for the patch. * Fixed #104: Updated launcher binaries to properly handle interpreter paths with spaces. Thanks to Atsushi Odagiri for the diagnosis and fix. * Fixed #105: cache_from_source is now imported from importlib.util where available. * Added support for PEP 566 / Metadata 2.1. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.2.7/ [2] https://goo.gl/M3kQzR [3] https://bitbucket.org/pypa/distlib/issues/new -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: A new version (0.4.3) of python-gnupg has been released. It contains a security-related change - please update to this version
A new version of the Python module which wraps GnuPG has been released. What Changed?=This is a security-fix release, and all users are strongly encouraged to upgrade.This fix mitigates against CVE-2018-12020. See the discoverer's blog post [6] formore information. Brief summary: * Added --no-verbose to the gpg command line, in case verbose is specified in gpg.conf - we don't need verbose output. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links.An alternative download source where the signatures are available is the project'sown downloads page [5]. What Does It Do?The gnupg module allows Python programs to make use of thefunctionality provided by the Gnu Privacy Guard (abbreviated GPG orGnuPG). Using this module, Python programs can encrypt and decryptdata, digitally sign documents and verify digital signatures, manage(generate, list and delete) encryption keys, using proven Public KeyInfrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as itmakes use of the subprocess module which appeared in that version ofPython. This module is a newer version derived from earlier work byAndrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg>>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory')>>> >>> gpg.list_keys() [{...'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2','keyid': '197D5DAC68F1AAB2','length': '1024','type': 'pub','uids': ['', 'Gary Gross (A test user) ']},{...'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A','keyid': '0C5FEFA7A921FC4A','length': '1024',...'uids': ['', 'Danny Davis (A test user) ']}]>>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A'])>>> str(encrypted) '-BEGIN PGP MESSAGE-\nVersion: GnuPG v1.4.9 (GNU/Linux)\n\nhQIOA/6NHMDTXUwcEAf.-END PGP MESSAGE-\n'>>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret')>>> str(decrypted) 'Hello, world!'>>> signed = gpg.sign("Goodbye, world!", passphrase='secret')>>> verified = gpg.verify(str(signed))>>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3],patches and suggestions for improvement, or any other points via themailing list/discussion group [4]). Enjoy! Cheers Vinay SajipRed Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg[2] https://pypi.python.org/pypi/python-gnupg/0.4.3[3] https://bitbucket.org/vinay.sajip/python-gnupg/issues[4] https://groups.google.com/forum/#!forum/python-gnupg[5] https://bitbucket.org/vinay.sajip/python-gnupg/downloads/[6] https://neopg.io/blog/gpg-signature-spoof/ -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: Version 0.1.5 of sarge (a subprocess wrapper library) has been released.
Version 0.1.5 of Sarge, a cross-platform library which wraps the subprocessmodule in the standard library, has been released. What changed?- - Fixed #37: Instead of an OSError with a "no such file or directory" message, a ValueError is raised with a more informative "Command not found" message. - Fixed #38: Replaced ``async`` keyword argument with ``async_``, as ``async`` has become a keyword in Python 3.7. - Fixed #39: Updated tutorial example on progress monitoring. What does Sarge do?--- Sarge tries to make interfacing with external programs from yourPython applications easier than just using subprocess alone. Sarge offers the following features: * A simple way to run command lines which allows a rich subset of Bash-style shell command syntax, but parsed and run by sarge so that youcan run on Windows without cygwin (subject to having those commandsavailable): >>> from sarge import capture_stdout>>> p = capture_stdout('echo foo | cat; >>> echo bar')>>> for line in p.stdout: print(repr(line))...'foo\n''bar\n' * The ability to format shell commands with placeholders, such thatvariables are quoted to prevent shell injection attacks. * The ability to capture output streams without requiring you toprogram your own threads. You just use a Capture object and then youcan read from it as and when you want. * The ability to look for patterns in captured output and to interactaccordingly with the child process. Advantages over subprocess--- Sarge offers the following benefits compared to using subprocess: * The API is very simple. * It's easier to use command pipelines - using subprocess out of thebox often leads to deadlocks because pipe buffers get filled up. * It would be nice to use Bash-style pipe syntax on Windows, butWindows shells don't support some of the syntax which is useful, like&&, ||, |& and so on. Sarge gives you that functionality on Windows,without cygwin. * Sometimes, subprocess.Popen.communicate() is not flexible enough forone's needs - for example, when one needs to process output a line ata time without buffering the entire output in memory. * It's desirable to avoid shell injection problems by having theability to quote command arguments safely. * subprocess allows you to let stderr be the same as stdout, but notthe other way around - and sometimes, you need to do that. Python version and platform compatibility- Sarge is intended to be used on any Python version >= 2.6 and istested on Python versions 2.6, 2.7, 3.3, 3.4, 3.5, 3.6 and 3.7 on Linux,Windows, and Mac OS X (not all versions are tested on all platforms,but sarge is expected to work correctly on all these versions on allthese platforms). Finding out more You can read the documentation at http://sarge.readthedocs.org/ There's a lot more information, with examples, than I can put intothis post. You can install Sarge using "pip install sarge" to try it out. Theproject is hosted on BitBucket at https://bitbucket.org/vinay.sajip/sarge/ And you can leave feedback on the issue tracker there. I hope you find Sarge useful! Regards, Vinay Sajip -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
python-sql 1.0.0 release
We are proud to announce the release of the version 1.0.0 of python-sql. python-sql is a library to write SQL queries in a pythonic way. In addition to bug-fixes, this release contains those improvements: Add Flavor filter_ to fallback to case expression Allow to use expression in AtTimeZone Add comparison predicates Add COLLATE python-sql is available on PyPI: https://pypi.org/project/python-sql/1.0.0/ -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
relatorio 0.8.1
We are glade to announce the release 0.8.1 of relatorio. Relatorio is a templating library which provides a way to easily output several kinds of files (odt, ods, png, svg, …). It is a bug-fix release which includes: Add support for Python 3.7 Escape invalid XML characters Enforce closing tag to be the same directive as the opening Use compression for zip file Write mimetype as first file of the zip file The package is available on https://pypi.org/project/relatorio/0.8.1/ The document is available on https://relatorio.readthedocs.io/en/0.8.1/ -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.2.8 released on PyPI
I've recently released version 0.2.8 of distlib on PyPI [1]. For newcomers,distlib is a library of packaging functionality which is intended to beusable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fixed #107: Updated documentation on testing to include information on setting PYTHONHASHSEED. * Fixed #108: Updated metadata scan to look for the METADATA file as well as the JSON formats. * Fixed #109: Removed existing files (which might have been symlinks) before overwriting. * Fixed #111: Avoided unnecessary newlines in script preambles, which caused problems with detecting encoding declarations. Thanks to Wim Glenn for the report and patch. * Fixed #112: Handled wheel tags and platform-dependent downloads correctly in SimpleScrapingLocator. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements,please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.2.8/[2] https://goo.gl/tVzKUc[3] https://bitbucket.org/pypa/distlib/issues/new -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Introducing NimbusML - experimental Python bindings for ML.NET
We are excited to announce that yesterday we released and open sourced NimbusML<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FNimbusML&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514956851&sdata=1irzCc9xFFC0OID4SNpVniylBH7dxjgIXCv2L8pT01E%3D&reserved=0> ! This project provides experimental Python bindings for ML.NET<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2Fmachinelearning&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514966861&sdata=CA6yPTUsjOjnHhEkXpugahOPgg%2BVRYusE%2B%2BI%2FiQmyuI%3D&reserved=0> (an open source and cross-platform machine learning framework for .NET) NimbusML allows you to build ML.NET pipelines in Python and also integrate them into Scikit-Learn pipelines. Highlights · Cross-platform: NimbusML is supported on Mac, Linux, and Windows. · Efficient interop with Scikit-learn/Pandas: NimbusML can accept Pandas dataframes as input and its components can also be used within Scikit-learn pipelines. · Majority of ML.NET components are available: Most ML.NET components can be used through NimbusML. · Performance parity with ML.NET: When using only NimbusML components (loaders, transforms, scorers, and evaluators), NimbusML performance matches ML.NET performance. · Familiar APIs for Scikit-learn users: NimbusML adheres to existing Scikit-learn conventions but also introduces some new concepts such as how to work with multiple columns in the pipelines. · Open-source: NimbusML will be built in the open and we encourage any non-confidential issues/questions to be added on GitHub. Please let us know if you are interested in contributing. · Interop with ML.NET models: models trained in NimbusML can be deployed in .NET applications using ML.NET (see here<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2FNimbusML%2Floadsavemodels&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514976865&sdata=WRAvv8XWuUs%2BSQvAHwGj8eP1XXOrgwKbkWSmhV5ipyo%3D&reserved=0> for an example). Click here to view the NimbusML repo.<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FNimbusML&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514976865&sdata=%2FmjPQoZIildRuLJPocDTlMf0Xn65yAyn9R7oNUveNYw%3D&reserved=0> Click here to view the NimbusML samples.<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FNimbusML-samples&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514986870&sdata=LJVm0IQClk4IgFmkpJbGsFp0r%2BZwSKpRALWA4T3QVN8%3D&reserved=0> Click here to view the NimbusML docs.<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2FNimbusML%2Foverview&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514986870&sdata=jcgvpNNckRDO0bsGhgYD%2BVesxVHie3hU5doRQ7VfR7A%3D&reserved=0> Installation NimbusML can be installed using pip: pip install nimbusml You can run a quick test with: python -m nimbusml.examples.FastLinearClassifier NimbusML has been tested on Windows 10, MacOS 10.13, Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, CentOS 7, and RHEL 7. NimbusML requires Python 2.7, 3.5, or 3.6 (64 bit). Python 3.7 is not supported yet. Getting Started Documentation can be found here<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2FNimbusML%2Foverview&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514996884&sdata=RboJY%2B%2FkznoN0g1ecoE0neZ4UeEKLvAIsIoFKDPID4I%3D&reserved=0>. Sample notebooks can be found here<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FNimbusML-Samples&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025dc%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636767866514996884&sdata=tIRDpTjIv2ZrKoxzMwYAsUCFumzgqKChnpsJCsmtK1c%3D&reserved=0>. A few examples: · Twitter Sentiment Analysis<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2FNimbusML%2Ftutorials%2Fb_b-sentiment-analysis-2-data-streaming-with-filedatastream&data=02%7C01%7Cganaziro%40microsoft.com%7C0c37bb14ad3545d507c008d6410025d
ANN: A new version (0.4.4) of python-gnupg has been released. It contains a security-related change - please update to this version
A new version of the Python module which wraps GnuPG has been released. What Changed?=This is an enhancement and security-fix release, and all users are stronglyencouraged to upgrade. Brief summary: * Fixed #108: Changed how any return value from the on_data callable is processed. In earlier versions, the return value was ignored. In this version, if the return value is False, the data received from gpg is not buffered. Otherwise (if the value is None or True, for example), the data is buffered as normal. This functionality can be used to do your own buffering, or to prevent buffering altogether. The on_data callable is also called once with an empty byte-string to signal the end of data from gpg. * Fixed #97: Added an additional attribute check_fingerprint_collisions to GPG instances, which defaults to False. It seems that gpg is happy to have duplicate keys and fingerprints in a keyring, so we can't be too strict. A user can set this attribute of an instance to True to trigger a check for collisions. * Fixed #111: With GnuPG 2.2.7 or later, provide the fingerprint of a signing key for a failed signature verification, if available. * Fixed #21: For verification where multiple signatures are involved, a mapping of signature_ids to fingerprint, keyid, username, creation date, creation timestamp and expiry timestamp is provided. * Added a check to disallow certain control characters ('\r', '\n', NUL) in passphrases. This fix mitigates against CVE-2019-6690. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links.An alternative download source where the signatures are available is the project'sown downloads page [5]. What Does It Do?====The gnupg module allows Python programs to make use of thefunctionality provided by the Gnu Privacy Guard (abbreviated GPG orGnuPG). Using this module, Python programs can encrypt and decryptdata, digitally sign documents and verify digital signatures, manage(generate, list and delete) encryption keys, using proven Public KeyInfrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as itmakes use of the subprocess module which appeared in that version ofPython. This module is a newer version derived from earlier work byAndrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg>>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory')>>> >>> gpg.list_keys() [{...'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2','keyid': '197D5DAC68F1AAB2','length': '1024','type': 'pub','uids': ['', 'Gary Gross (A test user) ']},{...'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A','keyid': '0C5FEFA7A921FC4A','length': '1024',...'uids': ['', 'Danny Davis (A test user) ']}]>>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A'])>>> str(encrypted) '-BEGIN PGP MESSAGE-\nVersion: GnuPG v1.4.9 (GNU/Linux)\n\nhQIOA/6NHMDTXUwcEAf.-END PGP MESSAGE-\n'>>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret')>>> str(decrypted) 'Hello, world!'>>> signed = gpg.sign("Goodbye, world!", passphrase='secret')>>> verified = gpg.verify(str(signed))>>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3],patches and suggestions for improvement, or any other points via themailing list/discussion group [4]). Enjoy! Cheers Vinay SajipRed Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg[2] https://pypi.python.org/pypi/python-gnupg/0.4.4[3] https://bitbucket.org/vinay.sajip/python-gnupg/issues[4] https://groups.google.com/forum/#!forum/python-gnupg[5] https://bitbucket.org/vinay.sajip/python-gnupg/downloads/ -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.2.9 released on PyPI
I've recently released version 0.2.9 of distlib on PyPI [1]. For newcomers,distlib is a library of packaging functionality which is intended to beusable as the basis for third-party packaging tools. The main changes in this release are as follows: * Updated default PyPI URL to https://pypi.org/pypi. * Relaxed metadata format checks to ignore 'Provides'. * Fixed #33, #34: simplified script template. * Fixed #115: Relaxed check for '..' in wheel archive entries by not checking filename parts, only directory segments. * Fixed #116: Corrected parsing of credentials from URLs. * Fixed #122: Skipped entries in archive entries ending with '/' (directories) when verifying or installing. * Commented out Disqus comment section in documentation. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements,please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.2.9/[2] https://distlib.readthedocs.io/en/latest/overview.html#change-log-for-distlib[3] https://bitbucket.org/pypa/distlib/issues/new -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: A new version (0.4.5) of python-gnupg has been released.
A new version of the Python module which wraps GnuPG has been released. What Changed?= This is an enhancement and bug-fix release, and all users are encouraged toupgrade. Brief summary: * Fixed #107: Improved documentation. * Fixed #112: Raised a ValueError if a gnupghome is specified which is not an existing directory. * Fixed #113: Corrected stale link in the documentation. * Fixed #116: Updated documentation to clarify when spurious key-expired/ signature-expired messages might be seen. * Fixed #119: Added --yes to avoid pinentry when deleting secret keys with GnuPG >= 2.1. * A warning is logged if gpg returns a non-zero return code. * Added ``extra_args`` to ``import_keys``. * Added support for CI using AppVeyor. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 Recent changes to PyPI don't show the GPG signature with the download links.An alternative download source where the signatures are available is the project'sown downloads page [5]. What Does It Do?The gnupg module allows Python programs to make use of thefunctionality provided by the Gnu Privacy Guard (abbreviated GPG orGnuPG). Using this module, Python programs can encrypt and decryptdata, digitally sign documents and verify digital signatures, manage(generate, list and delete) encryption keys, using proven Public KeyInfrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as itmakes use of the subprocess module which appeared in that version ofPython. This module is a newer version derived from earlier work byAndrew Kuchling, Richard Jones and Steve Traugott. A test suite using unittest is included with the source distribution. Simple usage: >>> import gnupg>>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory')>>> >>> gpg.list_keys() [{...'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2','keyid': '197D5DAC68F1AAB2','length': '1024','type': 'pub','uids': ['', 'Gary Gross (A test user) ']},{...'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A','keyid': '0C5FEFA7A921FC4A','length': '1024',...'uids': ['', 'Danny Davis (A test user) ']}]>>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A'])>>> str(encrypted) '-BEGIN PGP MESSAGE-\nVersion: GnuPG v1.4.9 (GNU/Linux)\n\nhQIOA/6NHMDTXUwcEAf.-END PGP MESSAGE-\n'>>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret')>>> str(decrypted) 'Hello, world!'>>> signed = gpg.sign("Goodbye, world!", passphrase='secret')>>> verified = gpg.verify(str(signed))>>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3],patches and suggestions for improvement, or any other points via themailing list/discussion group [4]). Enjoy! Cheers Vinay SajipRed Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg[2] https://pypi.org/project/python-gnupg/0.4.5[3] https://bitbucket.org/vinay.sajip/python-gnupg/issues[4] https://groups.google.com/forum/#!forum/python-gnupg[5] https://bitbucket.org/vinay.sajip/python-gnupg/downloads/-- -- Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.3.0 released on PyPI
I've recently released version 0.3.0 of distlib on PyPI [1]. For newcomers,distlib is a library of packaging functionality which is intended to beusable as the basis for third-party packaging tools. The main changes in this release are as follows: * Partially addressed #102: modules attribute of InstalledDistribution was incorrectly computed as a list of bytes, rather than a list of str. This has now been corrected. * Updated Locator._get_digest to check PyPI JSON responses for a "digests" dictionary before trying "algo_digest" keys. Thanks to Jeffery To for the patch. * Fixed #123: Improved error message if a resource isn't found. * Fixed #124: Stopped norm-casing the executable written into shebangs, as it doesn't work for some non-ASCII paths. * Fixed #125: Updated launchers with versions that correctly report errors containing non-ASCII characters. The updated launchers now also support relative paths (see http://bit.ly/2JxmOoi for more information). * Fixed #127: Allowed hyphens in flags in export specifications. * Changed Python version handling to accommodate versions like e.g. 3.10 (no longer assume a version X.Y where X and Y are single digits). A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements,please give some feedback using the issue tracker! [3] Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.0/[2] https://distlib.readthedocs.io/en/0.3.0/[3] https://bitbucket.org/pypa/distlib/issues/new -- Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Support the Python Software Foundation: http://www.python.org/psf/donations/
Re: ANN: distlib 0.3.0 released on PyPI
It looks as if a couple of the above links got corrupted during transmission, so the link behind the text is not what it seems to be (it includes a couple of extra characters from the following footnote). Try these: https://pypi.org/project/distlib/0.3.0/ https://distlib.readthedocs.io/en/0.3.0/ Regards, Vinay Sajip -- Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: distlib 0.3.1 released on PyPI
I've recently released version 0.3.1 of distlib on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools. The main changes in this release are as follows: * Fixed #132: Added documentation to help with relative interpreter paths. Thanks to Paul Kienzle for the patch. * Fixed #134: Allowed specifying a different target Python version when generating scripts. * Fixed #135: Exposed the ``enquote_executable`` function previously implemented as an internal function. * Addressed #138: Improved metadata support for newer metadata versions. Thanks to James Tocknell for the patch. * Changed the output of flags in entry point definitions in wheels. Thanks to frostming (明希) for the patch. * Stopped writing JSON metadata. Only old-style metadata is written now. A more detailed change log is available at [2]. Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker! [3] Note: Mailman3 might mishandle some of the links below. In that case, just copy and paste the links into your browser address bar - that should work. Regards, Vinay Sajip [1] https://pypi.org/project/distlib/0.3.1/ [2] https://distlib.readthedocs.io/en/0.3.1/ [3] https://bitbucket.org/pypa/distlib/issues/new ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
ANN: Version 0.1.6 of sarge (a subprocess wrapper library) has been released.
Version 0.1.6 of Sarge, a cross-platform library which wraps the subprocess module in the standard library, has been released. What changed? - - Fixed #44: Added an optional timeout to Command.wait() and Pipeline.wait(), which only takes effect on Python >= 3.3. - Fixed #47: Added the ``replace_env`` keyword argument which allows a complete replacement for ``os.environ`` to be passed. - Fixed #51: Improved error handling around a Popen call. What does Sarge do? --- Sarge tries to make interfacing with external programs from your Python applications easier than just using subprocess alone. Sarge offers the following features: * A simple way to run command lines which allows a rich subset of Bash- style shell command syntax, but parsed and run by sarge so that you can run on Windows without cygwin (subject to having those commands available): >>> from sarge import capture_stdout >>> p = capture_stdout('echo foo | cat; echo bar') >>> for line in p.stdout: print(repr(line)) ... 'foo\n' 'bar\n' * The ability to format shell commands with placeholders, such that variables are quoted to prevent shell injection attacks. * The ability to capture output streams without requiring you to program your own threads. You just use a Capture object and then you can read from it as and when you want. * The ability to look for patterns in captured output and to interact accordingly with the child process. Advantages over subprocess --- Sarge offers the following benefits compared to using subprocess: * The API is very simple. * It's easier to use command pipelines - using subprocess out of the box often leads to deadlocks because pipe buffers get filled up. * It would be nice to use Bash-style pipe syntax on Windows, but Windows shells don't support some of the syntax which is useful, like &&, ||, |& and so on. Sarge gives you that functionality on Windows, without cygwin. * Sometimes, subprocess.Popen.communicate() is not flexible enough for one's needs - for example, when one needs to process output a line at a time without buffering the entire output in memory. * It's desirable to avoid shell injection problems by having the ability to quote command arguments safely. * subprocess allows you to let stderr be the same as stdout, but not the other way around - and sometimes, you need to do that. Python version and platform compatibility ----- Sarge is intended to be used on any Python version >= 2.6 and is tested on Python versions 2.6, 2.7, 3.3, 3.4, 3.5, 3.6, 3.7 and 3.8 on Linux, Windows, and Mac OS X (not all versions are tested on all platforms, but sarge is expected to work correctly on all these versions on all these platforms). Finding out more You can read the documentation at http://sarge.readthedocs.org/ There's a lot more information, with examples, than I can put into this post. You can install Sarge using "pip install sarge" to try it out. The project is hosted on BitBucket at https://bitbucket.org/vinay.sajip/sarge/ And you can leave feedback on the issue tracker there. I hope you find Sarge useful! Regards, Vinay Sajip _______ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] PyCon Estonia 2023: Call for papers
[image: fallback.png] PyCon Estonia 2023 is coming again! I am writing to invite you to submit a proposal for PyCon Estonia 2023, the annual conference to promote and educate people about the Python programming language. We aim to have our biggest, most international and diverse conference to date, and we believe your expertise and experience would be valuable to our program. The PyCon 2023 conference will take place on the *7th and 8th of September* at Tallinn University, and all speakers are expected to present their topics in person. We are currently accepting proposals for talks, workshops and lightning talks until the deadline on *21st April 2023*. All talks will be in English, and we welcome speakers of all experience levels and backgrounds to contribute. As a speaker, your talk and your slides must follow our Code of Conduct, ensuring that all content is appropriate for a professional audience. We have different types of talks available to choose from, including keynote talks, regular talks, lightning talks and workshops. You can find more information about each type of talk in the guidelines section of our call for papers <https://pyconestonia.typeform.com/to/hBOEtTQ3?typeform-source=pycon.ee>. We want the focus of the conference to be around the Python ecosystem, however, we are still welcoming talks on other relevant topics, such as Python challenges, outstanding packages, security, automation, AI/ML, web development, IoT, mental health for developers, and conducive work environment for coding. Speakers do not have to purchase a ticket and get free access to the whole conference. If you have bought a ticket in advance before being accepted, we will refund it. Please feel free to contact us at i...@pythonestonia.ee or directly by replying to this email if you have any questions or concerns about your topic or the call for papers in general. Looking forward to your submission! -- Kreete Mi Rand Marketing Specialist Python Estonia [image: website] pycon.ee [image: address] Mäealuse 2/1, 12618, Estonia ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] [Release] Kedro 0.18.8 🔶
Hi all, It fills us with astronomical joy to announce the release of Kedro 0.18.8! 🔶 Kedro is an open source, opinionated Python framework for creating reproducible, maintainable and modular data science code. It reduces technical debt when moving prototypes into production by providing a declarative data catalog, a solid project template, plumbing for creating data pipelines, and more. It features a rich ecosystem of plugins and third-party datasets and is currently an incubation-stage project of the LF AI & Data Foundation. You can install it using pip or conda/[micro]mamba: ``` pip install kedro conda/[micro]mamba install kedro --channel conda-forge ``` This release brought support for a new `KEDRO_LOGGING_CONFIG` environment variable to configure logging, better reproducibility for `kedro run`, lots of documentation improvements, and much more. For existing users, note that `kedro.extras.datasets` is deprecated in favor of the separate `kedro_datasets` package. You can read the full release notes online: https://github.com/kedro-org/kedro/blob/main/RELEASE.md#release-0188 If you want to know more, you can subscribe to our YouTube channel, follow us on the Fediverse or join our community in Slack: https://youtube.com/@kedro-python https://social.lfx.dev/@kedro https://slack.kedro.org/ Happy pipelining! -- Cano Rodríguez, Juan Luis Developer Advocate at QuantumBlack Labs Pronouns: he/him/his McKinsey & Company M +34 686 75 72 97 +=+ This email is confidential and may be privileged. If you have received it in error, please notify us immediately, delete the email, and do not copy it, disclose its contents or use it for any purpose. +=+ ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] [Release] Kedro 0.18.9
Hi all, It fills us with astronomical joy to announce the release of Kedro 0.18.9! 🔶 Kedro is an open source, opinionated Python framework for creating reproducible, maintainable and modular data science code. It reduces technical debt when moving prototypes into production by providing a declarative data catalog, a solid project template, plumbing for creating data pipelines, and more. It features a rich ecosystem of plugins and third-party datasets and is currently an incubation-stage project of the LF AI & Data Foundation. You can install it using pip or conda/[micro]mamba: ``` pip install kedro conda/[micro]mamba install kedro --channel conda-forge ``` In this release, we added support for a metadata attribute in datasets, introduced a new `kedro.logging.RichHandler` that is more flexible and configurable, and fixed some bugs with `OmegaConfigLoader`. We also added substantial improvements to our deployment docs, and we keep making progress towards following modern Python packaging standards. You can read the full release notes online: https://github.com/kedro-org/kedro/blob/main/RELEASE.md#release-0189 If you want to know more, you can watch our recent workshop “Refactor your Jupyter notebooks using Kedro” on YouTube: https://youtu.be/qClSGY6B0r0 Follow us on the Fediverse and join our community in Slack: https://social.lfx.dev/@kedro https://slack.kedro.org/ Happy pipelining! -- Cano Rodríguez, Juan Luis Developer Advocate at QuantumBlack Labs Pronouns: he/him/his McKinsey & Company M +34 686 75 72 97 +=+ This email is confidential and may be privileged. If you have received it in error, please notify us immediately, delete the email, and do not copy it, disclose its contents or use it for any purpose. +=+ ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
[Python-announce] [Release] Kedro 0.18.11 🔶
Hi all, It fills us with astronomical joy to announce the release of Kedro 0.18.11! 🔶 Kedro is an open source, orchestrator-agnostic Python framework for creating reproducible, maintainable and modular data science code. It reduces technical debt when moving prototypes into production by providing a declarative data catalog, a solid project template, plumbing for creating data pipelines, and more. It features a rich ecosystem of plugins and third-party datasets and is currently an incubation-stage project of the LF AI & Data Foundation. You can install it using pip or conda/[micro]mamba: ``` pip install kedro==0.18.11 conda/[micro]mamba install kedro=0.18.11 --channel conda-forge ``` In this release, we added added a new `databricks-iris` official starter and significantly improved the documentation around Databricks deployments. We also fixed some bugs around micropackaging and remote datasets, updated the documentation for Prefect 2.0, and deprecated some class names. You can read the full release notes online: https://github.com/kedro-org/kedro/blob/main/RELEASE.md#release-01811 If you want to know more, you can watch our recent workshop “Refactor your Jupyter notebooks using Kedro ” on YouTube: https://youtu.be/qClSGY6B0r0 Follow us on the Fediverse and join our community in Slack: https://social.lfx.dev/@kedro https://slack.kedro.org/ Happy pipelining! -- Cano Rodríguez, Juan Luis Principal Product Manager & Lead Developer Advocate QuantumBlack, AI by McKinsey Pronouns: he/him/his M +34 686 75 72 97 +=+ This email is confidential and may be privileged. If you have received it in error, please notify us immediately, delete the email, and do not copy it, disclose its contents or use it for any purpose. +=+ ___ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com
pvlib v0.7.2
pvlib has a new minor release, v0.7.2 Release Notes: https://pvlib-python.readthedocs.io/en/v0.7.2/whatsnew.html PyPI: https://pypi.org/project/pvlib/ Read the Docs: https://pvlib-python.readthedocs.io/en/latest/ GitHub: https://github.com/pvlib/pvlib-python Highlights: - add new module pvlib.snow to contain models related to snow coverage and effects on a PV system. (GH764<https://github.com/pvlib/pvlib-python/pull/764>) - Renamed pvlib.losses to pvlib.soiling. Additional loss models will go into code modules named for the loss or effect type. (GH935<https://github.com/pvlib/pvlib-python/issues/935>, GH891<https://github.com/pvlib/pvlib-python/issues/891>) - updated compatibility with cftime 1.1. (GH895<https://github.com/pvlib/pvlib-python/issues/895>) There are a few breaking API changes and bug fixes. Users are advised to read the release notes before updating. -- Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Support the Python Software Foundation: http://www.python.org/psf/donations/