A historical discussion along with a survey of the current landscape of Python packaging. Also learn the basics of uploading your package to PyPi.
Presentation was given at the IndyPy user group meeting in February 2014.
distribute und pip als Ersatz für setuptools und easy_install bieten im Zusammenspiel mit virtualenv viele neue Möglichkeiten bei der Entwicklung und dem Deployment von Python-Applikationen. In diesem Vortrag stelle ich alle Werkzeuge kurz vor und zeige, wie man sie zusammen einsetzen kann.
distribute und pip als Ersatz für setuptools und easy_install bieten im Zusammenspiel mit virtualenv viele neue Möglichkeiten bei der Entwicklung und dem Deployment von Python-Applikationen. In diesem Vortrag stelle ich alle Werkzeuge kurz vor und zeige, wie man sie zusammen einsetzen kann.
Walter Heck, founder of OlinData, presented a step-by-step guide on how to set up a proper puppet repository, complete with the brand new PuppetDB, exported resources and usage of open source modules.
distribute und pip als Ersatz für setuptools und easy_install bieten im Zusammenspiel mit virtualenv viele neue Möglichkeiten bei der Entwicklung und dem Deployment von Python-Applikationen. In diesem Vortrag stelle ich alle Werkzeuge kurz vor und zeige, wie man sie zusammen einsetzen kann.
distribute und pip als Ersatz für setuptools und easy_install bieten im Zusammenspiel mit virtualenv viele neue Möglichkeiten bei der Entwicklung und dem Deployment von Python-Applikationen. In diesem Vortrag stelle ich alle Werkzeuge kurz vor und zeige, wie man sie zusammen einsetzen kann.
Walter Heck, founder of OlinData, presented a step-by-step guide on how to set up a proper puppet repository, complete with the brand new PuppetDB, exported resources and usage of open source modules.
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013Puppet
"PuppetDB: New Adventures in Higher-Order Automation" by
Deepak Giridharagopal, Director of Engineering, Puppet Labs.
Presentation Overview: PuppetDB gives users fast, robust, centralized storage for Puppet-produced data. The 1.0 version landed at Puppetconf 2012, and now we're one year older and one year wiser. It's been deployed in thousands of sites, people have written libraries and tools on top of it, and there's been plenty of activity in the past year. We've tightly integrated it into Puppet Enterprise. We've added new features like report storage, event querying, import/export, better HTTP endpoints, and unified querying. And though we've added features, we've also made PuppetDB faster and consume less disk space. This talk will cover what's happened in the PuppetDB world between Puppetconf 2012 and now. We'll go into the new features, talk about performance and correctness, and discuss lessons learned.
Speaker Bio: Deepak is Director of Engineering at Puppet Labs, one of the authors of PuppetDB, and a many-times-over Puppetconf veteran. Prior to joining Puppet Labs, he was Principal Engineer at Dell/MessageOne, using Puppet to manage thousands of production systems.
Rust + python: lessons learnt from building a toy filesystemChengHui Weng
In this slides I listed what I have learnt when I was working on my toy FUSE based file system in Rust for Python. By using PyO3, to bind Rust with Python becomes really easy, but the unavoidable type conversions affect the whole Rust code design and efficiency.
This is as a lighting talk for WebHack#16 meet up: https://webhack.connpass.com/event/99735/
Presentation on how Puppet has been introduced in Seat Pagine Gialle to automate system administration tasks and easy the cooperation between Ops and Others.
NOTE: SlideShare seems to have problems rendering some of my screenshots. Please visit
https://speakerdeck.com/uranusjr/we-buy-cheese-in-a-cheese-shop
for a correctly-displayed version.
ORIGINAL DESCRIPTION:
Python packaging is ______. But PyPA is trying to solve the problem. Let's take a look at how we got into this mess in the first place, and how did/will PyPA do to fix it.
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013Puppet
"PuppetDB: New Adventures in Higher-Order Automation" by
Deepak Giridharagopal, Director of Engineering, Puppet Labs.
Presentation Overview: PuppetDB gives users fast, robust, centralized storage for Puppet-produced data. The 1.0 version landed at Puppetconf 2012, and now we're one year older and one year wiser. It's been deployed in thousands of sites, people have written libraries and tools on top of it, and there's been plenty of activity in the past year. We've tightly integrated it into Puppet Enterprise. We've added new features like report storage, event querying, import/export, better HTTP endpoints, and unified querying. And though we've added features, we've also made PuppetDB faster and consume less disk space. This talk will cover what's happened in the PuppetDB world between Puppetconf 2012 and now. We'll go into the new features, talk about performance and correctness, and discuss lessons learned.
Speaker Bio: Deepak is Director of Engineering at Puppet Labs, one of the authors of PuppetDB, and a many-times-over Puppetconf veteran. Prior to joining Puppet Labs, he was Principal Engineer at Dell/MessageOne, using Puppet to manage thousands of production systems.
Rust + python: lessons learnt from building a toy filesystemChengHui Weng
In this slides I listed what I have learnt when I was working on my toy FUSE based file system in Rust for Python. By using PyO3, to bind Rust with Python becomes really easy, but the unavoidable type conversions affect the whole Rust code design and efficiency.
This is as a lighting talk for WebHack#16 meet up: https://webhack.connpass.com/event/99735/
Presentation on how Puppet has been introduced in Seat Pagine Gialle to automate system administration tasks and easy the cooperation between Ops and Others.
NOTE: SlideShare seems to have problems rendering some of my screenshots. Please visit
https://speakerdeck.com/uranusjr/we-buy-cheese-in-a-cheese-shop
for a correctly-displayed version.
ORIGINAL DESCRIPTION:
Python packaging is ______. But PyPA is trying to solve the problem. Let's take a look at how we got into this mess in the first place, and how did/will PyPA do to fix it.
How to Write a Popular Python Library by AccidentDaniel Greenfeld
We gave this talk as the opening keynote speech at PyCon Singapore. The theme of the talk is that most complex projects begin from humble origins. That you should create your own projects, sharing your knowledge and expertise.
jQuery is so easy to write and therefore so easy to write poor code also. As coders are we sure that what we write can easily be digested by the web page? Lets go and see how we can easily improve performance with same code with different approach.
This presentation covers how to perform the CRUD operation of database using Django Query-set API. The topics covered includes Creating new objects, Saving changes to existing objects, Retrieving objects from DB, Deleting objects & Complex lookups with Q objects.
Django ist ein in Python programmiertes Framework, dass die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit von einzelnen Komponenten gelegt.
Der Vortrag wurde beim Webmontag Leipzig im März 2010 gehalten.
Django ist ein in Python programmiertes Framework, dass die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit von einzelnen Komponenten gelegt.
Open-source projects often struggle with finding contributors and getting off of the ground. Communities, such as Github and PyPi, are host to redundant projects and libraries. In the development space, how do you distinguish your project from others, get people excited to contribute to it, and ultimately create a successful open source project? The answer is to apply user-centered design techniques to the development of your project. User-centered design is usually applied to web applications and products on the front-end of a website, but these techniques can be applied to open source libraries.
In this talk, Jackie will illustrate some user-centered techniques that have been used on her own project — Mesa (https://github.com/projectmesa/mesa), along with other successful open source projects. This talk will include a survey of interviews with a focus on successful techniques, along with additional user-centered design techniques that could be leveraged to inspire increased community engagement into your project.
Python packaging: how did we get here, and where are we going?takluyver
An overview of Python packaging history, with details of what PEP 517 is, some of the new tools using it, and how you might write a PEP 517 backends and frontends.
See also notes taken by an attendee: https://twitter.com/drakekin/status/1173195932151746561
Scikit-HEP has grown rapidly over the last few years, not just to serve the needs of the High Energy Physics (HEP) community, but in many ways, the Python ecosystem at large. AwkwardArray, boost-histogram/hist, and iMinuit are examples of libraries that are used beyond the original HEP focus. In this talk, we will look key packages in the ecosystem, at how the collection of 30+ packages was developed and maintained, and the software ecosystem contributions made to packages like cibuildwheel, pybind11, nox, scikit-build, build, and pipx that support this effort, and the Scikit-HEP developer pages, and initial WebAssembly support.
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017Codemotion
PyMI: siamo un gruppo di Sviluppatrici, Sviluppatori, Appassionati e Appassionate di Python a Milano. Ci incontriamo una volta al mese in Mikamai/LinkMe. Abbiamo degli eventi ricorrenti e molto apprezzati: "Pillole di Python" e "PyBirra". * Presentazione del gruppo * Python Blueprint: the language, the tools, the packages and the ecosystem.
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Jian-Hong Pan
Flatpak is a framework for distributing desktop applications and supported by most of Linux distributions. This talk shares how to package a HTTP server written in Python as a Flatpak app. And, runs it like a desktop application by launching a browser connecting to the server automatically.
https://hackmd.io/@starnight/Have_an_HTTP_Server_in_Flatpak
Effective Python Package Management [PyCon Canada 2017]Devon Bernard
This talk showcases various example scenarios around the ins/outs of managing Python packages. Scenarios range from intra-package problems of how to build a package, inter-package problems of how to connect packages, to general usage/environment/setup problems that developers have a hard time debugging. For each of these scenarios, I'll highlight the pros/cons, best practices, and how to overcome the issues developers commonly face.
Some examples: - installing packages from public, local file system, git (ssh + https), and how this affects deployment procedures - handling systems with multiple Python versions or package managers - how app structures and imports can affect testability - relative vs absolute imports - virtual environments - setup scripts - package versioning (why, when, how) - how new code changes could not be taking effect (old .pyc files, or updated import not catching) - handling sub-packages/dependencies that utilize parent configuration files - working with PYTHONPATH - executing python as modules or scripts
Talk presented on Nov 18, 2017 at PyCon Canada 2017.
Versioning in Pipeline Pilot - Pipeline Pilot Forum 2018Peter Schmidtke
Quick presentation on how we use git versioning in Pipeline Pilot & Docker at Discngine to run properly versioned development efforts for larger teams.
Alex Clark, https://2020.ploneconf.org/speakers/alex-clark
The State of Pillow
How it started
Frustrated with seeing the proliferation of third party repackagings of PIL all containing identical or similar packaging fixes none of which were hosted by the Python Package Index, on July 31, 2010 Alex Clark forked the Python Imaging Library with Hanno Schlicting's changes to setup.py, and published the results to the Python Package Index as Pillow 1.0. [^1]
How it's going
Pillow has become the de facto PIL: successfully providing a modern alternative to PIL for the last 10 years, adding Python 3 support, remaining active while PIL development stalled, getting development funded for four part time developers [^3] and taking over ownership of the PIL project on the Python Packaging Index as suggested by the Python Packaging Authority. [^2].
The Story of Pillow
In this talk, Alex Clark will regale Plonistas in attendance with the "tale of the little fork that could", Pillow, including such topics as
- History
- First few years
- Mainstream adoption
- Enter: Tidelift
- Lessons
- Future
See you there! Thank you PloneConf for the opportunity.
[^1]: https://github.com/python-pillow/grant-proposal2#history
[^2]: https://pypi.org/project/PIL/
[^3]: https://www.tidelift.com/subscription/pkg/pypi-pillow
https://2020.ploneconf.org/talks/the-state-of-pillow
In this talk we will explore the Zen of Python and the famous PEP8 Style Guide. Learn about the tenets of the Python language and how you can apply them to make your code beautiful and functional. After all, Readability Counts!
Managing Chaos: Merging 120 Sites into a single Plone Multisite SolutionClayton Parker
Discover how the Penn State College of Liberal Arts moved over 120 separate websites running on their own Plone installation into a single system utilizing Lineage in less than 90 days. The new system retains the independent permissions and workflows each site needed to have. This talk will discuss the reasons for the consolidation and why the new system is more efficient and easier to navigate for administrators.
Notre Dame Seamless Syndication with LineageClayton Parker
Learn how Lineage can be used to manage numerous nested websites and how a multi-directional syndication and publication mechanism is allowing them to leverage content across all sites.
Six Feet Up will present how the College of Engineering at the University of Notre Dame has replaced a profusion of independent and disconnected websites with a Plone-based hub-and-spoke site using Lineage. Content can be easily syndicated to and from any of the participating sites through a sophisticated mechanism that lets content contributors submit syndication requests through a publication workflow.
This case study will show how the deployed solution is giving the University the ability to delegate content creation while still controlling the quality of the output, as well as give more visibility to some of the content pieces authored by its faculty members.
Pioneer a Strategic Change in Content Organization with PloneClayton Parker
Waking up to the reality of SEO and social media, large corporate organizations are now looking to better control content on their long list of child sites, as well as prevent strategic information from evading to third-party sites such as LinkedIn, Facebook, Twitter, etc.
One forward-thinking school – College of Engineering at University of Notre Dame – has set the ball rolling by implementing a large hub and spoke infrastructure to manage the content of a dozen departments and a dozen research centers. The new structure was unveiled in January 2012 and is powered by Plone.
In this talk, we will unveil how the Plone add-on Lineage can be used to create a powerful structure of parent and child sites. First, we will explain how Lineage works out of the box with no customizations. The default behavior is simple and allows for the new microsites to be created instantly, but they will look the same as their parent.
After reviewing the stock behavior, we will explore how to extend Lineage. There are several Lineage add-ons that allow child sites to have their own theme or even their own properties. We will present what these add-ons provide on top of the out-of-the box experience. We will also reveal how to use the child site creation hooks to populate the new child sites with content, set up properties and prepare the child site for use by the end users.
Using Buildout, GenericSetup and a Policy Package to Rule the WorldClayton Parker
So you have your code on the filesystem and you are using buildout;
what's next? You can take your build to the next level by reducing the
amount of manual steps needed to create and maintain your site. Using
collective.recipe.plonesite, you can ensure that every member of your
team is working on an identical Plone site at any given time.
Without the plonesite recipe, when you run your buildout for the first
time, you are left with an empty Zope site. This talk will show you how
to utilize buildout to create a Plone site for you and make sure it is
all set up via a policy package and GenericSetup so you can hit the
ground running.
Make Plone Search Act Like Google Using SolrClayton Parker
Solr is a powerful open source search engine server which has become a popular choice for extending the search capabilities of Plone sites. The default configuration works well, but how do you answer the client's request to "Make my search just like Google's"?
In this talk we will take a look at the various options that are available for configuring Solr's schema and configuration. We will discuss how to set up stop words, spell checking, n-grams and alternate query handlers. We will see what effect these settings will have on the search results and find out how to debug problems when they arise.
Migrating from drupal to plone with transmogrifierClayton Parker
Transmogrifier is a migration framework that can help you easily migrate from one platform to another. It has been written in a way that allows re-use of migration code through blueprints. In this talk we will walk through the steps necessary to migrate from Drupal, a popular CMS written in PHP, into Plone. We will see how to use the various blueprints available to build a pipeline that prepares and imports the content into Plone
Buildout is a great tool for creating repeatable environments. But what happens when things change and you are left with a broken buildout? This talk will focus on creating a buildout that can survive the test of time. The talk will cover how to keep your packages pinned so that releases don't cause you headaches. We will also discuss how to set up your own package server in order to make sure that you always have the packages that you need.
Transmogrifier is a tool that gives you the ability to create a configurable pipeline to import and export from various systems. Each section of the pipe can be turned into a re-usable blueprint that can be given back to the community. This gives us the ability to quickly create migration paths for existing systems and maintain them as Python packages.
LDAP and Active Directory Authentication in PloneClayton Parker
In this presentation, we will discuss the benefits of having Plone authenticate
against a directory server. We will explore which tools are available to make
this authentication option successful as well as how to configure them.
Finally, disadvantages and possible problems with such a setup will be
discussed.
Six Feet Up's senior developer Clayton Parker will lead you on a journey to become a Python zen master. Your code should be as fashionable as it is functional. To quote the Zen of Python, "Beautiful is better than ugly". This talk will teach you about the Python style guide and why it is important. The talk will show you examples of well written Python and how to analyze your current code to make Guido proud.
Six Feet Up's senior developer Clayton Parker will lead you on a journey to become a Python zen master. Your code should be as fashionable as it is functional. To quote the Zen of Python, "Beautiful is better than ugly". This talk will teach you about the Python style guide and why it is important. The talk will show you examples of well written Python and how to analyze your current code to make Guido proud.
Using Buildout to Develop and Deploy Python ProjectsClayton Parker
Buildout gives you a way to manage, build and deploy your Python project with ease. Large Python projects such as Plone use it to distribute repeatable development environments. Buildout allows you to easily get up and running with your project versus the traditional method of installing all the dependancies and manually configuring your applications instance for each environment. The buildout community is rapidly growing with a large repository of recipes that allow you to extend it's functionality. This talk will show you the basics of using buildout and how to make it a vital part of your project's life cycle.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Pushing the limits of ePRTC: 100ns holdover for 100 days
Current State of Python Packaging
1. Current State of Python
Packaging
Clayton Parker
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
2. A History Lesson
Let's start off with a bit of history.
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
3. Genesis
2000
distutils is added to the standard library in Python 1.6
2003
PyPi is up and running
2004
Setuptools and eggs are unleashed upon the world
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
4. Second Wave
2006
Jim Fulton creates Buildout
2007
Ian Bicking creates virtualenv
2008
Ian Bicking creates pip as an alternative to easy_install
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
5. The Fork
2008
Tarek Ziadé creates distribute, a fork of setuptools aiming
to keep the project alive
2008-2012
Packaging life is painful...An effort to fix packaging
(distutils2 / packaging) was abandoned.
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
6. The Present
2013
The wheel format is created out of PEP425 and PEP427
2013
pip starts using distlib, out of the ashes of distutils2 and
packaging
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
7. The Present
2013
distribute merges back into setuptools. After almost 10
years, setuptools gets to 1.0!!! And then a 2.0 not long
after.
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
8. How to install?
Easiest way to install a package is with pip:
$ pip install requests
Then to upgrade:
$ pip install --upgrade requests
Pretty simple eh?
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
10. Advanced features of pip
Can do more than just install
Ability to install from a requirements.txt file
Search PyPi
Show metadata about the current environment
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
11. How to create a package?
A basic setup.py
import os
from setuptools import setup
setup(
name='mypackage',
version='1.0',
description='Short description of the package',
long_description='reStructured text documentation',
url='http://github.com/username/mypackage',
license='BSD',
author='Author Name',
author_email='name@example.com',
py_modules=['mypackage'],
include_package_data=True,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Programming Language :: Python',
],
)
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
12. PyPi config
Setup your ~/.pypirc
[distutils]
index-servers=
pypi
[pypi]
repository = https://pypi.python.org/pypi
username = dave
password = 12345
Yes, that password is in clear text. So be careful!
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
13. PyPi Upload
Uploading a new package to PyPi:
$ python setup.py register
$ python setup.py sdist upload
$ python setup.py bdist_wheel upload
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
14. Install your package
Now you can install your package just like any other:
$ pip install mypackage
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
15. Project environments
Two common ways of handling your project
Virtualenv (Also venv in Python 3.3+)
Buildout
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
16. Virtualenv
Used to create isolated Python environments:
$ sudo pip install virtualenv
$ virtualenv myenv
$ cd myenv
Now activate and see what python is available:
$ source bin/activate
(myenv)$ which python
/Users/clayton/myenv/bin/python
Also check out virtualenvwrapper for more awesomeness!
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
17. Buildout
Used to create repeatable environments:
$
$
$
$
git clone https://example.com/git/my-buildout.git
cd my-buildout
python bootstrap.py
bin/buildout
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14
18. Links
Python Packaging User Guide
Detailed information about packaging and the tools that can be
used
Sharing Your Labor of Love
Excellent blog post detailing getting your package on PyPi
Current State of Python Packaging - Clayton Parker - IndyPy 02/11/14