Feeds

Thorsten Alteholz: My Debian Activities in November 2024

Planet Debian - Mon, 2024-12-09 13:51
Debian LTS

This was my hundred-twenty-fifth month that I did some work for the Debian LTS initiative, started by Raphael Hertzog at Freexian. During my allocated time I uploaded or worked on:

  • [DLA 3968-1] netatalk security update to fix four CVEs related to heap buffer overflow and writing arbitrary files. The patches have been prepared by the maintainer.
  • [DLA 3976-1] tgt update to fix one CVE related to not using a propper seed for rand()
  • [DLA 3977-1] xfpt update to fix one CVE related to a stack-based buffer overflow
  • [DLA 3978-1] editorconfig-core update to fix two CVEs related to buffer overflows.

I also continued to work on a fix for glewlwyd, which is more difficult than expected. Besides I started to work on ffmpeg and haproxy.

Last but not least I did a week of FD this month and attended the monthly LTS/ELTS meeting.

Debian ELTS

This month was the seventy-sixth ELTS month. During my allocated time I uploaded or worked on:

  • [ELA-1259-1]editorconfig-core security update for two CVEs in Buster to fix buffer overflows.

I also started to work on a fix for kmail-account-wizzard. Unfortunately preparing a testing environment takes some time and I did not finish testing this month. Besides I started to work on ffmpeg and haproxy.

Last but not least I did a week of FD this month and attended the monthly LTS/ELTS meeting.

Debian Printing

Unfortunately I didn’t found any time to work on this topic.

Debian Matomo

Unfortunately I didn’t found any time to work on this topic.

Debian Astro

This month I uploaded new packages or new upstream or bugfix versions of:

I also sponsored an upload of calceph.

Debian IoT

This month I uploaded new upstream or bugfix versions of:

Debian Mobcom

This month I uploaded new packages or new upstream or bugfix versions of:

misc

This month I uploaded new upstream or bugfix versions of:

I also did some NMU of opensta, kdrill, glosstex, irsim, pagetools, afnix, cpm, to fix some RC bugs.

FTP master

This month I accepted 266 and rejected 16 packages. The overall number of packages that got accepted was 269.

Categories: FLOSS Project Planets

Python Engineering at Microsoft: 2024 Python in VS Code Wrapped

Planet Python - Mon, 2024-12-09 12:52

As the year comes to a close, we would like to take time to reflect and celebrate the incredible progress the Python extension for VS Code has made in the past year. Inspired by Spotify Wrapped, we’ve compiled highlights from our year, showcasing top voted requests and countless lines of code written. Keep reading to get an inside look into all things @vscode-python and @vscode-python-debugger wrapped!

Pull Requests and issues

We saw an impressive 604 pull requests merged in 2024, bringing in features such as Django tests, improved environment discovery, the Native REPL, and more! Moreover, our community helped close 894 issues, for both bug fixes and features requests.

We broke down our top addressed issues based on up-votes:

Contributors and community

This year, we were thrilled to see contributions from 43 unique contributors: 22 internal contributors and 21 from the community!

We would like to give a special shout-out to our community contributors: @andybbruno, @aydar-kamaltdinov, @baszalmstra, @bersbersbers, @brokoli777, @covracer, @DavidArchibald, @DetachHead, @edgarrmondragon, @flying-sheep, @joar, @LouisGobert, @mnoah1, @nickwarters, @PopoDev, @renan-r-santos, @shanesaravia, @soda92, @T-256, @tomoki, @vishrutss.

The community’s support and collaboration have been invaluable, and we look forward to continuing to find ways to engage and collaborate with you all in 2025!

Codebase changes

This year, we made significant efforts to make our codebase more maintainable by rewriting what we could in Python and cleaning up old code as new code was introduced. As a result, 51,972 lines of code were added, and 48,629 lines of code were removed.

Tools Extensions

Although our repository stats do not account for our tools extensions, we want to highlight the growth and progress in these repositories.

As part of our ongoing efforts to enhance the Python extension, we previously focused on separating linting and formatting tools into their own extensions. This year, we observed substantial growth across all of these extensions.

Black formatter saw an impressive growth of 89.45% and is our most installed tools extension, while autopep8 usage surged by 149.65%. Pylint experienced a notable increase of 70.71%, and flake8 grew by 88.63%. Our mypy type checker topped the download growth chart with an astounding growth of 236.18%.

We’re incredibly proud of what we’ve achieved together this year and can’t wait to continue merging exciting updates in 2025. Thank you for being a part of our community!

Engage with us on our GitHub repositories, @vscode-python and @vscode-python-debugger, and let us know what new features you would like to see next! You can stay up to date on latest releases by following us on X @pythonvscode and on our Python DevBlog.

The post 2024 Python in VS Code Wrapped appeared first on Python.

Categories: FLOSS Project Planets

Drupal Association blog: Sachiko Muto: Empowering Open Source for the Future

Planet Drupal - Mon, 2024-12-09 12:46

We’re thrilled to introduce Sachiko Muto, one of the newest members elected to the Drupal Association Board in October. Sachiko is the Chair of OpenForum Europe and a senior researcher at RISE Research Institutes of Sweden. She originally joined OFE in 2007, serving for several years as Director, responsible for government relations, and later as CEO. Sachiko holds degrees in Political Science from the University of Toronto and the London School of Economics and received her doctorate in standardisation policy from TU Delft.

We’re excited to have Sachiko on the Board, and she recently shared her insights on this new chapter in her journey:

What are you most excited about when it comes to joining the Drupal Association Board?
I’m thrilled to join the Drupal Association Board at a time when open source is gaining significant momentum as a foundation for digital public infrastructure in Europe and beyond. I’m particularly excited about the potential to further position Drupal as a critical tool for digital sovereignty and public value, especially as it powers platforms like europa.eu.

What do you hope to accomplish during your time on the board?
During my time on the board, I hope to strengthen the connections between Drupal and broader digital public policy initiatives, ensuring that we’re at the forefront of supporting transparent, secure, and user-centric digital infrastructure. I’m particularly committed to promoting Drupal’s adoption as a foundational tool for digital public infrastructure in the public sector. Additionally, I aim to explore ways to enhance Drupal’s long-term sustainability by encouraging public sector users not only to adopt but also to actively contribute to Drupal’s ecosystem, reinforcing its growth and resilience.

What specific skill or perspective do you contribute to the board?
With a background in public policy, open technologies, and as a senior researcher at RISE, I bring a perspective focused on the societal impact of open standards and open source. My work has consistently emphasized the strategic role of open source in public digital infrastructure, so I’m here to champion that within Drupal’s mission. I also hope to contribute insights from my experience in European funding and public sector collaboration to bolster Drupal’s impact in these areas.

Share a favorite quote or piece of advice that has inspired you.
With so many directions we could go, try to pursue only those that involve working with people you want to be around. I also learned early on in my career that communicating a policy message becomes much easier—and more powerful—when you’re confident it’s the right thing to do.

We’re excited to see the amazing contributions Sachiko will make during her time on the Drupal Association Board. Thank you, Sachiko, for dedicating your time and expertise to serving the Drupal community! Connect with Sachiko on LinkedIn.

The Drupal Association Board of Directors comprises 13 members with nine are nominated for staggered three-year terms, two are elected by Drupal Association members, and one seat is reserved for the Drupal Project Founder, Dries Buytaert, while another is reserved for the immediate past chair. The Board meets twice in person and four times virtually each year. It oversees policy development, executive director management, budget approvals, financial reporting, and fundraising efforts.

Categories: FLOSS Project Planets

Real Python: Python News Roundup: December 2024

Planet Python - Mon, 2024-12-09 09:00

The Python community has kept up its momentum this month, delivering a host of exciting updates. From the promising improvements to template strings in PEP 750 to the release of Python 3.14.0a2, innovation is front and center. Developers are exploring new tools like partial validation in Pydantic 2.10, while popular projects adapt to the end of life of Python 3.8.

December also welcomes the return of the beloved Advent of Code, challenging programmers and problem solvers with daily puzzles. And for those planning ahead, the PyCon 2025 call for proposals is closing soon, marking a final opportunity to contribute to the community’s largest annual gathering.

Whether you’re diving into cutting-edge features, revisiting Python fundamentals, or connecting with fellow developers, there’s something for everyone this month. Let’s round up the most important developments of last month and see how they can inspire your next Python project!

PEP 750 – Template Strings Updated

The authors of PEP 750, which you might have first encountered introducing tag strings, have revised and significantly updated their proposal.

The central point of the PEP is now renamed as template strings, or t-strings, and aligns its syntax with the beloved f-strings:

Python planet = "World" greeting = t"Hello, {planet}!" Copied!

Looks very familiar! The main practical difference to f-strings is that t-strings are lazily evaluated, which opens the door to common string interpolation scenarios that f-strings can’t handle, such as:

  • Performance-optimized logging
  • Internationalization
  • Template reuse
  • HTML templating

All of the above are examples of string interpolation that requires lazy evaluation.

Note: Template reuse can come in handy, for example, when you’re creating template prompts in LLM-powered applications and application frameworks.

If the PEP gets accepted and implemented, then you’ll be able to use t-strings where you currently have to resort to str.format(), using a Template object from the string module, or even the older modulo (%) string formatting approach.

As the Python community continues to innovate, PEP 750 is a testament to the ongoing efforts to enhance language features while keeping them intuitive for developers. If you want to dive deeper into this proposal and its potential impact, then you can read more in the detailed examples section of the PEP.

Python 3.14.0a2 Released

The Python 3.14 team rolled out the second alpha release of Python 3.14, version 3.14.0a2. This release is part of the ongoing development process for Python 3.14, with a total of seven alpha releases planned.

Read the full article at https://realpython.com/python-news-december-2024/ »

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Categories: FLOSS Project Planets

Mike Driscoll: JupyterLab 101 Book is Now Available

Planet Python - Mon, 2024-12-09 08:31

JupyterLab, the latest iteration of the Jupyter Notebook, is a versatile tool that empowers you to share your code in an easily understandable format.

Front View Two Hard Cover Book Psd Mockup

Hundreds of thousands of people around the world use Jupyter Notebooks or variations of the Notebook architecture for any or all of the following:

  • teaching
  • presentations
  • learning a computer language
  • numerical simulations
  • statistical modeling
  • data visualization
  • machine learning
  • and much more!

Jupyter Notebooks can be emailed, put on GitHub, or run online. You may also add HTML, images, Markdown, videos, LaTeX, and custom MIME types to your Notebooks. Finally, Jupyter Notebooks support big data integration.

JupyterLab 101 will get you up to speed on the newest user interface for Jupyter Notebooks and the other tools that JupyterLab supports. You now have a tabbed interface that you can use to edit multiple Notebooks, open terminals in your browser, create a Python REPL, and more. JupyterLab also includes a debugger utility to help you figure out your coding issues.

Rest assured, JupyterLab supports all the same programming languages as Jupyter Notebook. The main difference lies in the user interface, and this guide is here to help you navigate it effectively and efficiently.

After reading JupyterLab 101, you will be an expert in JupyterLab and produce quality Notebooks quickly!

Where to Purchase

Purchase on GumroadLeanpub or Amazon

The post JupyterLab 101 Book is Now Available appeared first on Mouse Vs Python.

Categories: FLOSS Project Planets

The Drop Times: All Eyes on DrupalCon Singapore 2024

Planet Drupal - Mon, 2024-12-09 06:20

This week, all eyes are on DrupalCon Singapore 2024 — one of the most anticipated events in the Drupal community. Kicking off on Monday, the event has already garnered an enthusiastic response from attendees worldwide. Known for its engaging sessions, DrupalCon Singapore offers a unique opportunity to explore the present and future of Drupal. The Drop Times is here to provide comprehensive coverage with real-time updates, insightful news stories, and key highlights from the conference floor.  

DrupalCon is more than just an event; it's a pivotal moment in the Drupal community’s journey. It draws bright new talent while also sharpening the skills of seasoned contributors. This year’s event is especially significant, as it comes just weeks before the official launch of the all-new Drupal CMS on January 15, 2025. Attendees can expect exclusive insights into new developments and get a sneak peek at what’s on the horizon for Drupal.  

In addition to our DrupalCon coverage, we’re experimenting with a fresh, streamlined approach to our newsletter. Moving forward, you’ll receive a crisp, concise package of the most important stories from the past week. Our goal is to ensure you stay informed without feeling overwhelmed.  

So, let’s stay tuned for all the action from Singapore and beyond. Big changes are on the way for Drupal, and you won’t want to miss a thing!

DrupalCon Singapore 2024
Discover Drupal

 

Events

 

Organization News

 

Categories: FLOSS Project Planets

death and gravity: reader 3.16 released – Archived feed

Planet Python - Mon, 2024-12-09 05:42

Hi there!

I'm happy to announce version 3.16 of reader, a Python feed reader library.

What's new? #

Here are the highlights since reader 3.15.

Archived feed #

It is now possible to archive selected entries to a special "archived" feed, so they can be preserved once the original feed is deleted; this is similar to the Tiny Tiny RSS feature of the same name (which is where I got the idea in the first place).

At high level, this is available in the web app as an "archive all" button that archives currently-visible entries for a feed; in the re-design, the plan is to archive important entries by default as part of the "delete feed" confirmation page. It may also be a good idea to make this the default through a plugin before then, so that user interaction is not required for it to happen.

At low level, this is enabled by archive_entries() (I finally gave up and added a utils module 😅), and the copy_entry() method.

Entry source #

reader now parses and stores the entry source, containing metadata about the source feed if the entry is a copy – this can be the case when a feed aggregates articles from other feeds. The source URL can be used for filtering entries, and its title is part of the feed title during searches.

This was a side-project for the archived feed functionality, since the source of archived entries gets set to their original feed.

Bug fixes #

Also during archived feed implementation, I found out foreign keys were disabled in threads other than the one that created the reader instance, so e.g. deleting a feed from another thread would not delete its entries. This is now fixed.

The bug existed since multi-threaded use became allowed in version 2.15. Serving the web application with the serve command is known to be affected; serving it without threads (e.g. the default uWSGI configuration) should not be affected.

Attention

Your database may be in an inconsistent state. The migration to 3.16 will check for this on first use; issues will be reported as a FOREIGN KEY constraint failed storage integrity error; see the changelog for details.

That's it for now. For more details, see the full changelog.

Want to contribute? Check out the docs and the roadmap.

Learned something new today? Share this with others, it really helps!

What is reader#

reader takes care of the core functionality required by a feed reader, so you can focus on what makes yours different.

reader allows you to:

  • retrieve, store, and manage Atom, RSS, and JSON feeds
  • mark articles as read or important
  • add arbitrary tags/metadata to feeds and articles
  • filter feeds and articles
  • full-text search articles
  • get statistics on feed and user activity
  • write plugins to extend its functionality

...all these with:

  • a stable, clearly documented API
  • excellent test coverage
  • fully typed Python

To find out more, check out the GitHub repo and the docs, or give the tutorial a try.

Why use a feed reader library? #

Have you been unhappy with existing feed readers and wanted to make your own, but:

  • never knew where to start?
  • it seemed like too much work?
  • you don't like writing backend code?

Are you already working with feedparser, but:

  • want an easier way to store, filter, sort and search feeds and entries?
  • want to get back type-annotated objects instead of dicts?
  • want to restrict or deny file-system access?
  • want to change the way feeds are retrieved by using Requests?
  • want to also support JSON Feed?
  • want to support custom information sources?

... while still supporting all the feed types feedparser does?

If you answered yes to any of the above, reader can help.

The reader philosophy #
  • reader is a library
  • reader is for the long term
  • reader is extensible
  • reader is stable (within reason)
  • reader is simple to use; API matters
  • reader features work well together
  • reader is tested
  • reader is documented
  • reader has minimal dependencies
Why make your own feed reader? #

So you can:

  • have full control over your data
  • control what features it has or doesn't have
  • decide how much you pay for it
  • make sure it doesn't get closed while you're still using it
  • really, it's easier than you think

Obviously, this may not be your cup of tea, but if it is, reader can help.

Categories: FLOSS Project Planets

1xINTERNET blog: Shaping the Future of Search in Drupal CMS: Interview with Search Track Leads

Planet Drupal - Mon, 2024-12-09 05:14

Endorsed by Dries Buytaert in his keynote at DrupalCon Singapore, the Search Track is driving improvements in how users navigate and interact with content. Read the full interview with the Search Track Leads as they share their achievements, challenges, and future plans.

Categories: FLOSS Project Planets

LN Webworks: A Beginner’s Guide To Hreflang and Multilingual SEO

Planet Drupal - Mon, 2024-12-09 04:51

Strengthening your SEO game is essential! But are you taking all the proper measures to accomplish that? If not, then this blog is here to help you. With the help of a multilingual SEO, switching to your preferred language in a global website with just a prompt has become easy. 

But that's not all, there is more to it than what appears. In order to make your website content accessible to everyone, it is essential to be clear about what kind of SEO technicalities to use. And if ignored it might adversely affect your website's ranking. 

What Is Multilingual SEO?

Multilingual SEO is a technique that improves the accessibility of your website by getting rid of the language barrier. This process is based on the language to localize your website content into different languages by preference. In short, allowing you to reach more and more audiences beyond your region or country.

Categories: FLOSS Project Planets

LostCarPark Drupal Blog: Drupal Advent Calendar day 9 - Media Management

Planet Drupal - Mon, 2024-12-09 04:00
Drupal Advent Calendar day 9 - Media Management james Mon, 12/09/2024 - 09:00

Welcome back to the ninth day of Drupal Advent Calendar, and behind today’s door we find the Media track of Drupal Starshot. Media Management is an area where Drupal has traditionally not been strong compared to other content management systems, yet it has a lot of very powerful features that Drupal CMS will hopefully refine to make it one of the best media management platforms on the web.

In the Track Leads keynote at DrupalCon Barcelona, Tony Barker, the Track Lead for Media Management in Drupal CMS, outlined how he is building the track to help marketers tell their story and connect with…

Tags
Categories: FLOSS Project Planets

Python Bytes: #413 python-build-standalone finds a home

Planet Python - Mon, 2024-12-09 03:00
<strong>Topics covered in this episode:</strong><br> <ul> <li><a href="https://github.com/pydantic/jiter?featured_on=pythonbytes"><strong>jiter</strong></a></li> <li><strong><a href="https://astral.sh/blog/python-build-standalone?featured_on=pythonbytes">A new home for python-build-standalone</a></strong></li> <li><strong><a href="https://github.com/deliro/moka-py?featured_on=pythonbytes">moka-py</a></strong></li> <li><a href="https://www.saaspegasus.com/guides/uv/?featured_on=pythonbytes"><strong>uv: An In-Depth Guide</strong></a></li> <li><strong>Extras</strong></li> <li><strong>Joke</strong></li> </ul><a href='https://www.youtube.com/watch?v=XvXY0H3bb4Q' style='font-weight: bold;'data-umami-event="Livestream-Past" data-umami-event-episode="413">Watch on YouTube</a><br> <p><strong>About the show</strong></p> <p>Sponsored by us! Support our work through:</p> <ul> <li>Our <a href="https://training.talkpython.fm/?featured_on=pythonbytes"><strong>courses at Talk Python Training</strong></a></li> <li><a href="https://courses.pythontest.com/p/the-complete-pytest-course?featured_on=pythonbytes"><strong>The Complete pytest Course</strong></a></li> <li><a href="https://www.patreon.com/pythonbytes"><strong>Patreon Supporters</strong></a></li> </ul> <p><strong>Connect with the hosts</strong></p> <ul> <li>Michael: <a href="https://fosstodon.org/@mkennedy"><strong>@mkennedy@fosstodon.org</strong></a> <strong>/</strong> <a href="https://bsky.app/profile/mkennedy.codes?featured_on=pythonbytes"><strong>@mkennedy.codes</strong></a> <strong>(bsky)</strong></li> <li>Brian: <a href="https://fosstodon.org/@brianokken"><strong>@brianokken@fosstodon.org</strong></a> <strong>/</strong> <a href="https://bsky.app/profile/brianokken.bsky.social?featured_on=pythonbytes"><strong>@brianokken.bsky.social</strong></a></li> <li>Show: <a href="https://fosstodon.org/@pythonbytes"><strong>@pythonbytes@fosstodon.org</strong></a> <strong>/</strong> <a href="https://bsky.app/profile/pythonbytes.fm"><strong>@pythonbytes.fm</strong></a> <strong>(bsky)</strong></li> </ul> <p>Join us on YouTube at <a href="https://pythonbytes.fm/stream/live"><strong>pythonbytes.fm/live</strong></a> to be part of the audience. Usually <strong>Monday</strong> at 10am PT. Older video versions available there too.</p> <p>Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to <a href="https://pythonbytes.fm/friends-of-the-show">our friends of the show list</a>, we'll never share it.</p> <p><strong>Michael #1:</strong> <a href="https://github.com/pydantic/jiter?featured_on=pythonbytes"><strong>jiter</strong></a></p> <ul> <li>Fast iterable JSON parser.</li> <li>About to be the backend for Pydantic and Logfire. </li> <li>Currently powers OpenAI / ChatGPT (along with Pydantic itself), at least their Python library, maybe more.</li> <li>jiter has three interfaces: <ul> <li>JsonValue an enum representing JSON data</li> <li>Jiter an iterator over JSON data</li> <li>PythonParse which parses a JSON string into a Python object</li> </ul></li> <li><a href="https://github.com/pydantic/jiter/tree/main/crates/jiter-python?featured_on=pythonbytes">jiter-python</a> - This is a standalone version of the JSON parser used in pydantic-core. The recommendation is to only use this package directly if you do not use pydantic</li> </ul> <p><strong>Brian #2:</strong> <a href="https://astral.sh/blog/python-build-standalone?featured_on=pythonbytes">A new home for python-build-standalone</a></p> <ul> <li>Charlie Marsh</li> <li>See also <a href="https://gregoryszorc.com/blog/2024/12/03/transferring-python-build-standalone-stewardship-to-astral/?featured_on=pythonbytes">Transferring Python Build Standalone Stewardship to Astral</a> from Gregory Szorc</li> <li>python-build-standalone is the project that has prebuilt binaries for different architectures.</li> <li>used by uv python install 3.12 and uv venv .venv --python 3.12 and uv sync</li> <li>This is good stability news for everyone.</li> <li>Interesting discussion of <a href="https://bsky.app/profile/crmarsh.com/post/3lch35lrdi224?featured_on=pythonbytes">prebuilt Python from Charlie</a></li> </ul> <p><strong>Michael #3:</strong> <a href="https://github.com/deliro/moka-py?featured_on=pythonbytes">moka-py</a></p> <ul> <li>A high performance caching library for Python written in Rust</li> <li><strong>moka-py</strong> is a Python binding for the highly efficient <a href="https://github.com/moka-rs/moka?featured_on=pythonbytes">Moka</a> caching library written in Rust. </li> <li>This library allows you to leverage the power of Moka's high-performance, feature-rich cache in your Python projects.</li> <li>Features <ul> <li><strong>Synchronous Cache:</strong> Supports thread-safe, in-memory caching for Python applications.</li> <li><strong>TTL Support:</strong> Automatically evicts entries after a configurable time-to-live (TTL).</li> <li><strong>TTI Support:</strong> Automatically evicts entries after a configurable time-to-idle (TTI).</li> <li><strong>Size-based Eviction:</strong> Automatically removes items when the cache exceeds its size limit using the TinyLFU policy.</li> <li><strong>Concurrency:</strong> Optimized for high-performance, concurrent access in multi-threaded environments.</li> </ul></li> </ul> <p><strong>Brian #4:</strong> <a href="https://www.saaspegasus.com/guides/uv/?featured_on=pythonbytes"><strong>uv: An In-Depth Guide</strong></a></p> <ul> <li>On SaaS Pegasus blog, so presumably by Cory Zue</li> <li>Good intro to uv</li> <li>Also a nice list of everyday commands <ul> <li>Install python: uv python install 3.12 <ul> <li>I don’t really use this anymore, as uv venv .venv --python 3.12 or uv sync install if necessary</li> </ul></li> <li>create a virtual env: uv venv .venv --python 3.12</li> <li>install stuff: uv pip install django</li> <li>add project dependencies</li> <li>build pinned dependencies</li> </ul></li> <li>Also discussion about adopting the new workflow</li> </ul> <p><strong>Extras</strong> </p> <p>Brian:</p> <ul> <li><a href="https://ai.pydantic.dev/?featured_on=pythonbytes">PydanticAI</a> - not sure why I didn’t see that coming</li> <li>In the “good to know” and “commentary on society” area: <ul> <li><a href="https://bsky.social/about/blog/08-28-2024-anti-toxicity-features?featured_on=pythonbytes">Anti-Toxicity Features on Bluesky</a></li> <li><a href="https://www.wired.com/story/the-wired-guide-to-protecting-yourself-from-government-surveillance/?featured_on=pythonbytes">The WIRED Guide to Protecting Yourself From Government Surveillance</a></li> </ul></li> </ul> <p>Michael:</p> <ul> <li><a href="https://github.com/mikeckennedy?featured_on=pythonbytes">Go sponsor a bunch of projects on GitHub</a></li> <li><a href="https://us.pycon.org/2025/attend/information/?featured_on=pythonbytes">Registration is open for PyCon</a></li> </ul> <p><strong>Joke:</strong> <a href="https://bsky.app/profile/bitshammer.bsky.social/post/3lbzmqkykh22g?featured_on=pythonbytes">Inf</a></p> <p><img src="https://blobs.pythonbytes.fm/infinite-loop.jpg" alt="" /></p>
Categories: FLOSS Project Planets

Zato Blog: New API Integration Tutorial in Python

Planet Python - Mon, 2024-12-09 03:00
New API Integration Tutorial in Python 2024-12-09, by Dariusz Suchojad

Do you know what airports, telecom operators, defense forces and health care organizations have in common?

They all rely heavily on deep-backend software systems which are integrated and automated using principled methodologies, innovative techniques and well-defined implementation frameworks.

If you'd like to learn how to integrate and automate such complex systems correctly, head over to the new API integration tutorial that will show you how to do it in Python too.

# -*- coding: utf-8 -*- # Zato from zato.server.service import Service # ############################################################################## class MyService(Service): """ Returns user details by the person's name. """ name = 'api.my-service' # I/O definition input = '-name' output = 'user_type', 'account_no', 'account_balance' def handle(self): # For later use name = self.request.input.name or 'partner' # REST connections crm_conn = self.out.rest['CRM'].conn billing_conn = self.out.rest['Billing'].conn # Prepare requests crm_request = {'UserName':name} billing_params = {'USER':name} # Get data from CRM crm_data = crm_conn.get(self.cid, crm_request).data # Get data from Billing billing_data = billing_conn.post(self.cid, params=billing_params).data # Extract the business information from both systems user_type = crm_data['UserType'] account_no = crm_data['AccountNumber'] account_balance = billing_data['ACC_BALANCE'] self.logger.info(f'cid:{self.cid} Returning user details for {name}') # Now, produce the response for our caller self.response.payload = { 'user_type': user_type, 'account_no': account_no, 'account_balance': account_balance, } # ##############################################################################



Quick links

API programming screenshots
➤ Here's the API integration tutorial again
➤ More API programming examples in Python

More blog posts
Categories: FLOSS Project Planets

Tryton News: Release of Relatorio 0.11.0

Planet Python - Mon, 2024-12-09 02:00

We are proud to announce the release of Relatorio version 0.11.0.

Relatorio is a templating library mainly for OpenDocument using also OpenDocument as source format.

This is a feature release which:

  • Allow setting zip file generation options on opendocument templates

The package is available at https://pypi.org/project/relatorio/0.11.0/
The documentation is available at https://docs.tryton.org/relatorio/0.11.0/

1 post - 1 participant

Read full topic

Categories: FLOSS Project Planets

Paul Wise: FLOSS Activities November 2024

Planet Debian - Sun, 2024-12-08 21:07
Focus

This month I didn't have any particular focus. I just worked on issues in my info bubble.

Changes Issues Review Communication
  • Respond to queries from Debian users and contributors on IRC
Sponsors

The SWH work was sponsored. All other work was done on a volunteer basis.

Categories: FLOSS Project Planets

Kaidan 0.10.0: Too Much to Summarize!

Planet KDE - Sun, 2024-12-08 19:00

We finally made it: Kaidan’s next release with so many features that we cannot summarize them in one sentence!

Most of the work has been funded by NLnet via NGI Assure and NGI Zero Entrust with public money provided by the European Commission. If you want Kaidan’s progress to continue and keep more free software projects alive, please share and sign the open letter for further funding!

Now to the bunch of Kaidan’s new and great features:

Group chats with invitations, user listing, participant mentioning and private/public group chat filtering are supported now. In order to use it, you need an XMPP provider that supports MIX-Core, MIX-PAM and MIX-Admin. Unfortunately, there are not many providers supporting it yet since it is a comparatively recent group chat variant.

You do not need to quote messages just to reply to them any longer. The messages are referenced internally without bloating the conversation. After clicking on a referenced message, Kaidan even jumps to it. In addition, Kaidan allows you to remove unwanted messages locally.

We added an overview of all shared media to quickly find the image you received some time ago. You can define when to download media automatically. Furthermore, connecting to the server is now really fast - no need to wait multiple seconds just to see your latest offline messages anymore.

If you enter a chat address (e.g., to add a contact), its server part is now autocompleted if available. We added filter options for contacts and group chats. After adding labels to them, you can even search by those labels. And if you do not want to get any messages from someone, you can block them.

In case you need to move to a new account (e.g., if you are dissatisfied with your current XMPP provider), Kaidan helps you with that. For example, it transfers your contacts and informs them about the move. The redesigned onboarding user interface including many fixes assists with choosing a new provider and creating an account on it.

We updated Kaidan to the API v2 of XMPP Providers to stay up-to-date with the project’s data. If you are an operator of a public XMPP provider and would like Kaidan’s users to easily create accounts on it, simply ask to add it to the provider list.

The complete list of changes can be found in the changelog section. There is also a technical overview of all currently supported features.

Please note that we currently focus on new features instead of supporting more systems. Once Kaidan has a reasonable feature set, we will work on that topic again. Even if Kaidan is making good progress, keep in mind that it is not yet a stable app.

Changelog

Features:

  • Add server address completion (fazevedo)
  • Allow to edit account’s profile (jbb)
  • Store and display delivery states of message reactions (melvo)
  • Send pending message reactions after going online (melvo)
  • Enable user to resend a message reaction if it previously failed (melvo)
  • Open contact addition as page (mobile) or dialog (desktop) (melvo)
  • Add option to open chat if contact exists on adding contact (melvo)
  • Use consistent page with search bar for searching its content (melvo)
  • Add local message removal (taibsu)
  • Allow reacting to own messages (melvo)
  • Add login option to chat (melvo)
  • Display day of the week or “yesterday” for last messages (taibsu, melvo)
  • Add media overview (fazevedo, melvo)
  • Add contact list filtering by account and labels (i.e., roster groups) (incl. addition/removal) (melvo, tech-bash)
  • Add message date sections to chat (melvo)
  • Add support for automatic media downloads (fazevedo)
  • Add filtering contacts by availability (melvo)
  • Add item to contact list on first received direct message (melvo)
  • Add support for blocking chat addresses (lnj)
  • Improve notes chat (chat with oneself) usage (melvo)
  • Place avatar above chat address and name in account/contact details on narrow window (melvo)
  • Reload camera device for QR code scanning as soon as it is plugged in / enabled (melvo)
  • Provide slider for QR code scanning to adjust camera zoom (melvo)
  • Add contact to contact list on receiving presence subscription request (melvo)
  • Add encryption key authentication via entering key IDs (melvo)
  • Improve connecting to server and authentication (XEP-0388: Extensible SASL Profile (SASL 2), XEP-0386: Bind 2, XEP-0484: Fast Authentication Streamlining Tokens, XEP-0368: SRV records for XMPP over TLS) (lnj)
  • Support media sharing with more clients even for sharing multiple files at once (XEP-0447: Stateless file sharing v0.3) (lnj)
  • Display and check media upload size limit (fazevedo)
  • Redesign message input field to use rounded corners and resized/symbolic buttons (melvo)
  • Add support for moving account data to another account, informing contacts and restoring settings for moved contacts (XEP-0283: Moved) (fazevedo)
  • Add group chat support with invitations, user listing, participant mentioning and private/public group chat filtering (XEP-0369: Mediated Information eXchange (MIX), XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements, XEP-0406: Mediated Information eXchange (MIX): MIX Administration, XEP-0407: Mediated Information eXchange (MIX): Miscellaneous Capabilities) (melvo)
  • Add button to cancel message correction (melvo)
  • Display marker for new messages (melvo)
  • Add enhanced account-wide and per contact notification settings depending on group chat mentions and presence (melvo)
  • Focus input fields appropriately (melvo)
  • Add support for replying to messages (XEP-0461: Message Replies) (melvo)
  • Indicate that Kaidan is busy during account deletion and group chat actions (melvo)
  • Hide account deletion button if In-Band Registration is not supported (melvo)
  • Embed login area in page for QR code scanning and page for web registration instead of opening start page (melvo)
  • Redesign onboarding user interface including new page for choosing provider to create account on (melvo)
  • Handle various corner cases that can occur during account creation (melvo)
  • Update to XMPP Providers v2 (melvo)
  • Hide voice message button if uploading is not supported (melvo)
  • Replace custom images for message delivery states with regular theme icons (melvo)
  • Free up message content space by hiding unneeded avatars and increasing maximum message bubble width (melvo)
  • Highlight draft message text to easily see what is not sent yet (melvo)
  • Store sent media in suitable directories with appropriate file extensions (melvo)
  • Allow sending media with less steps from recording to sending (melvo)
  • Add media to be sent in scrollable area above message input field (melvo)
  • Display original images (if available) as previews instead of their thumbnails (melvo)
  • Display high resolution thumbnails for locally stored videos as previews instead of their thumbnails (melvo)
  • Send smaller thumbnails (melvo)
  • Show camera status and reload camera once plugged in for taking pictures or recording videos (melvo)
  • Add zoom slider for taking pictures or recording videos (melvo)
  • Show overlay with description when files are dragged to be dropped on chats for being shared (melvo)
  • Show location previews on a map (melvo)
  • Open locations in user-defined way (system default, in-app, web) (melvo)
  • Delete media that is only captured for sending but not sent (melvo)
  • Add voice message recorder to message input field (melvo)
  • Add inline audio player (melvo)
  • Add context menu entry for opening directory of media files (melvo)
  • Show collapsible buttons to send media/locations inside of message input field (melvo)
  • Move button for adding hidden message part to new collapsible button area (melvo)

Bugfixes:

  • Fix index out of range error in message search (taibsu)
  • Fix updating last message information in contact list (melvo)
  • Fix multiple corrections of the same message (melvo, taibsu)
  • Request delivery receipts for pending messages (melvo)
  • Fix sorting roster items (melvo)
  • Fix displaying spoiler messages (melvo)
  • Fix displaying errors and encryption warnings for messages (melvo)
  • Fix fetching messages from server’s archive (melvo)
  • Fix various encryption problems (melvo)
  • Send delivery receipts for catched up messages (melvo)
  • Do not hide last message date if contact name is too long (melvo)
  • Fix displaying emojis (melvo)
  • Fix several OMEMO bugs (melvo)
  • Remove all locally stored data related to removed accounts (melvo)
  • Fix displaying media preview file names/sizes (melvo)
  • Fix disconnecting from server when application window is closed including timeout on connection problems (melvo)
  • Fix media/location sharing (melvo)
  • Fix handling emoji message reactions (melvo)
  • Fix moving pinned chats (fazevedo)
  • Fix drag and drop for files and pasting them (melvo)
  • Fix sending/displaying media in selected order (lnj, melvo)

Notes:

  • Kaidan is REUSE-compliant now
  • Kaidan requires Qt 5.15 and QXmpp 1.9 now
Download

Or install Kaidan for your distribution:

Categories: FLOSS Project Planets

Freexian Collaborators: Debian Contributions: OpenMPI transitions, cPython 3.12.7+ update uploads, Python 3.13 Transition, and more! (by Anupa Ann Joseph, Stefano Rivera)

Planet Debian - Sun, 2024-12-08 19:00
Debian Contributions: 2024-11

Contributing to Debian is part of Freexian’s mission. This article covers the latest achievements of Freexian and their collaborators. All of this is made possible by organizations subscribing to our Long Term Support contracts and consulting services.

Transition management, by Emilio Pozuelo Monfort

Emilio has been helping finish the mpi-defaults switch to mpich on 32-bit architectures, and the openmpi transitions. This involves filing bugs for the reverse dependencies, doing NMUs, and requesting removals for outdated (Not Built from Source) binaries on 32-bit architectures where openmpi is no longer available. Those transitions got entangled with a few others, such as the petsc stack, and were blocking many packages from migrating to testing. These transitions were completed in early December.

cPython 3.12.7+ update uploads, by Stefano Rivera

Python 3.12 had failed to build on mips64el, due to an obscure dh_strip failure. The mips64el porters never figured it out, but the missing build on mips64el was blocking migration to Debian testing. After waiting a month, enough changes had accumulated in the upstream 3.12 maintenance git branch that we could apply them in the hope of changing the output enough to avoid breaking dh_strip. This worked.

Of course there were other things to deal with too. A test started failing due to a Debian-specific patch we carry for python3.x-minimal, and it needed to be reworked. And Stefano forgot to strip the trailing + from PY_VERSION, which confuses some python libraries. This always requires another patch when applying git updates from the maintenance branch. Stefano added a build-time check to catch this mistake in the future. Python 3.12.7 migrated.

Python 3.13 Transition, by Stefano Rivera and Colin Watson

During November the Python 3.13-add transition started. This is the first stage of supporting a new version of Python in Debian archive (after preparatory work), adding it as a new supported but non-default version. All packages with compiled Python extensions need to be re-built to add support for the new version.

We have covered the lead-up to this transition in the past. Due to preparation, many of the failures we hit were expected and we had patches waiting in the bug tracker. These could be NMUed to get the transition moving. Others had been known about but hadn’t been worked on, yet.

Some other packages ran into new issues, as we got further into the transition than we’d been able to in preparation. The whole Debian Python team has been helping with this work.

The rebuild stage of the 3.13-add transition is now over, but many packages need work before britney will let python3-defaults migrate to testing.

Limiting build concurrency based on available RAM, by Helmut Grohne

In recent years, the concurrency of CPUs has been increasing as has the demand for RAM by linkers. What has not been increasing as quickly is the RAM supply in typical machines. As a result, we more frequently run into situations where the package builds exhaust memory when building at full concurrency. Helmut initiated a discussion about generalizing an approach to this in Debian packages. Researching existing code that limits concurrency as well as providing possible extensions to debhelper and dpkg to provide concurrency limits based on available system RAM. Thus far there is consensus on the need for a more general solution, but ideas are still being collected for the precise solution.

MiniDebConf Toulouse at Capitole du Libre

The whole Freexian Collaborator team attended MiniDebConf Toulouse, part of the Capitole du Libre event. Several members of the team gave talks:

Stefano and Anupa worked as part of the video team, streaming and recording the event’s talks.

Miscellaneous contributions
  • Stefano looked into packaging the latest upstream python-falcon version in Debian, in support of the Python 3.13 transition. This appeared to break python-hug, which is sadly looking neglected upstream, and the best course of action is probably its removal from Debian.

  • Stefano uploaded videos from various 2024 Debian events to PeerTube and YouTube.

  • Stefano and Santiago visited the site for DebConf 2025 in Brest, after the MiniDebConf in Toulouse, to meet with the local team and scout out the venue.

    The on-going DebConf 25 organization work of last month also included handling the logo and artwork call for proposals.

  • Stefano helped the press team to edit a post for bits.debian.org on OpenStreetMap’s migration to Debian.

  • Carles implemented multiple language support on po-debconf-manager and tested it using Portuguese-Brazilian during MiniDebConf Toulouse. The system was also tested and improved by reviewing more than 20 translations to Catalan, creating merge requests for those packages, and providing user support to new users. Additionally, Carles implemented better status transitions, configuration keys management and other small improvements.

  • Helmut sent 32 patches for cross build failures. The wireplumber one was an interactive collaboration with Dylan Aïssi.

  • Helmut continued to monitor the /usr-move, sent a patch for lib64readline8 and continued several older patch conversations. lintian now reports some aliasing issues in unstable.

  • Helmut initiated a discussion on the semantics of *-for-host packages. More feedback is welcome.

  • Helmut improved the crossqa.debian.net infrastructure to fail running lintian less often in larger packages.

  • Helmut continued maintaining rebootstrap mostly dropping applied patches and continuing discussions of submitted patches.

  • Helmut prepared a non-maintainer upload of gzip for several long-standing bugs.

  • Colin came up with a plan for resolving the multipart vs. python-multipart name conflict, and began work on converting reverse-dependencies.

  • Colin upgraded 42 Python packages to new upstream versions. Some were complex: python-catalogue had some upstream version confusion, pydantic and rpds-py involved several Rust package upgrades as prerequisites, and python-urllib3 involved first packaging python-quart-trio and then vendoring an unpackaged test-dependency.

  • Colin contributed Incus support to needrestart upstream.

  • Lucas set up a machine to do a rebuild of all ruby reverse dependencies to check what will be broken by adding ruby 3.3 as an alternative interpreter. The tool used for this is mass-rebuild and the initial rebuilds have already started. The ruby interpreter maintainers are planning to experiment with debusine next time.

  • Lucas is organizing a Debian Ruby sprint towards the end of January in Paris. The plan of the team is to finish any missing bits of Ruby 3.3 transition at the time, try to push Rails 7 transition and fix RC bugs affecting the ruby ecosystem in Debian.

  • Anupa attended a Debian Publicity team meeting in-person during MiniDebCamp Toulouse.

  • Anupa moderated and posted in the Debian Administrator group in LinkedIn.

Categories: FLOSS Project Planets

Seth Michael Larson: New experimental Debian package for Cosign (Sigstore)

Planet Python - Sun, 2024-12-08 19:00
New experimental Debian package for Cosign (Sigstore) AboutBlogCool URLs New experimental Debian package for Cosign (Sigstore)

Published 2024-12-09 by Seth Larson
Reading time: minutes

Cosign has a new experimental package available for Debian thanks to the work of Simon Josefsson. Simon and I had an email exchange about Sigstore and Cosign on Debian after the discussion about PEP 761 (Deprecation and discontinuation of PGP signatures).

Debian and other downstream distros of Python and Python packages are incredibly important consumers of verification materials. Because these distros actually verify materials for every build of a package, this increases the confidence for other users using these same artifacts even without those users directly verifying the materials themselves. We need more actors in the ecosystem doing end-to-end verification to dissuade attackers from supply-chain attacks targeting artifact repositories like python.org and PyPI.

Trying Cosign in Docker

I gave the experimental package a try using the Debian Docker image to verify CPython 3.14.0-alpha2's tarball and verification materials:

$ docker run --rm -it debian:bookworm # Install the basics for later use. apt-get install ca-certificates wget # Add Simon's experimental package repo # and install Cosign! :party: $ echo "deb [trusted=yes] https://salsa.debian.org/jas/cosign/-/jobs/6682245/artifacts/raw/aptly experimental main" | \ tee --append /etc/apt/sources.list.d/add.list $ apt-get update $ apt-get install cosign $ cosign version ______ ______ _______. __ _______ .__ __. / | / __ \ / || | / _____|| \ | | | ,----'| | | | | (----`| | | | __ | \| | | | | | | | \ \ | | | | |_ | | . ` | | `----.| `--' | .----) | | | | |__| | | |\ | \______| \______/ |_______/ |__| \______| |__| \__| cosign: A tool for Container Signing, Verification and Storage in an OCI registry.

Now we can test Cosign out with CPython's artifacts. We expect Hugo van Kemenade (hugo@python.org) as the release manager for Python 3.14:

# Download the source and Sigstore bundle $ wget https://www.python.org/ftp/python/3.14.0/Python-3.14.0a2.tgz $ wget https://www.python.org/ftp/python/3.14.0/Python-3.14.0a2.tgz.sigstore # Verify with Cosign! $ cosign verify-blob \ --certificate-identity hugo@python.org \ --certificate-oidc-issuer https://github.com/login/oauth \ --bundle ./Python-3.14.0a2.tgz.sigstore \ --new-bundle-format \ ./Python-3.14.0a2.tgz Verified OK

Overall, this is working as expected from my point-of-view! Simon had a few open questions mostly for Cosign's upstream project. I am hopeful that this means we'll begin seeing Sigstore bundles and their derivatives (such as attestations from the Python Package Index) be used for downstream verification by distros like Debian. Exciting times ahead!

New Bundle Format

My first attempt didn't include the --new-bundle-format option and that resulted in an opaque error. Hopefully this user-experience issue will be phased out and Cosign will "default" to the new bundle format? I included this error strictly for folks searching for this error message and wanting to fix their issue.

Error: bundle does not contain cert for verification, please provide public key main.go:74: error during command execution: bundle does not contain cert for verification, please provide public key This critical role would not be possible without funding from the Alpha-Omega project.

Have thoughts or questions? Let's chat over email or social:

sethmichaellarson@gmail.com
@sethmlarson@fosstodon.org

Want more articles like this one? Get notified of new posts by subscribing to the RSS feed or the email newsletter. I won't share your email or send spam, only whatever this is!

Want more content now? This blog's archive has ready-to-read articles. I also curate a list of cool URLs I find on the internet.

Find a typo? This blog is open source, pull requests are appreciated.

Thanks for reading! ♡ This work is licensed under CC BY-SA 4.0

Categories: FLOSS Project Planets

Python⇒Speed: Reducing CO₂ emissions with faster software

Planet Python - Sun, 2024-12-08 19:00

What can you as a software developer do to fight climate change? My first and primary answer is getting involved with local politics. However, if you write software that operates at sufficient scale, you can also reduce carbon emissions by making your software faster.

In this article we’ll cover:

  • Why more computation uses more electricity.
  • Why you probably don’t need to think about this most of the time.
  • Reducing emissions by reducing compute time.
  • Reducing emissions with parallelism (even with the same amount of compute time!).
  • Some alternative scenarios and caveats: embodied emissions and Jevons Paradox.
Read more...
Categories: FLOSS Project Planets

GNUnet News: GNUnet 0.23.0

GNU Planet! - Sun, 2024-12-08 18:00
GNUnet 0.23.0 released

We are pleased to announce the release of GNUnet 0.23.0.
GNUnet is an alternative network stack for building secure, decentralized and privacy-preserving distributed applications. Our goal is to replace the old insecure Internet protocol stack. Starting from an application for secure publication of files, it has grown to include all kinds of basic protocol components and applications towards the creation of a GNU internet.

This is a new major release. It breaks protocol compatibility with the 0.22.0X versions. Please be aware that Git master is thus henceforth (and has been for a while) INCOMPATIBLE with the 0.22.0X GNUnet network, and interactions between old and new peers will result in issues. In terms of usability, users should be aware that there are still a number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.23.0 release is still only suitable for early adopters with some reasonable pain tolerance .

Download links

The GPG key used to sign is: 3D11063C10F98D14BD24D1470B0998EF86F59B6A

Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/

Changes

A detailed list of changes can be found in the git log , the NEWS and the bug tracker . Noteworthy highlights are

  • Code review: A number of issues found during a code review have been addressed.
  • util : A GNUNET_OS_ProjectData must now be passed to some APIs that are commonly used by third parties using libgnunetutil (e.g. Taler, GNUnet-Gtk) as to properly handle cases where the GNUnet installation directory is different from the third-party directory.
  • Build System : Improved build times by outsourcing handbook to prebuilt files and only generating GANA source files manually.
Known Issues
  • There are known major design issues in the CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.
  • There are known moderate implementation limitations in CADET that negatively impact performance.
  • There are known moderate design issues in FS that also impact usability and performance.
  • There are minor implementation limitations in SET that create unnecessary attack surface for availability.
  • The RPS subsystem remains experimental.

In addition to this list, you may also want to consult our bug tracker at bugs.gnunet.org which lists about 190 more specific issues.

Thanks

This release was the work of many people. The following people contributed code and were thus easily identified: Christian Grothoff, TheJackiMonster, oec, ch3, and Martin Schanzenbach.

Categories: FLOSS Project Planets

Dirk Eddelbuettel: pinp 0.0.11 on CRAN: Maintenance

Planet Debian - Sun, 2024-12-08 16:18

A new version of our pinp package arrived on CRAN today, and is the first release in four years. The pinp package allows for snazzier one or two column Markdown-based pdf vignettes, and is now used by a few packages. A screenshot of the package vignette can be seen below. Additional screenshots are at the pinp page.

This release contains no new features or new user-facing changes but reflects the standard package and repository maintenance over the four-year window since the last release: updating of actions, updating of URLs and addressing small packaging changes spotted by ever-more-vigilant R checking code.

The NEWS entry for this release follows.

Changes in pinp version 0.0.11 (2024-12-08)
  • Standard package maintenance for continuous integration, URL updates, and packaging conventions

  • Correct two minor nags in the Rd file

Courtesy of my CRANberries, there is a diffstat report relative to previous release. More detailed information is on the ping page. For questions or comments use the issue tracker off the GitHub repo. If you like this or other open-source work I do, you can sponsor me at GitHub.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Categories: FLOSS Project Planets

Pages