Practical Metaprogramming in Python
Bharat Saraswat (~bhansa) |
At first word Metaprogramming seems very funky and alien thing but if you have ever worked with decorators or metaclasses, your were doing metaprogramming there. In nutshell we can say metaprogramming is the code which manipulates code.
In this workshop, we will be covering some important topics like:
General OOPS in python: [Duration: 10mins]
What is OOPS? Practical use cases - Creating Python classes - Creating Object instances - Using Inheritance
Descriptors: [Duration: 15mins]
What & How Modeling attriubutes in Python Practical use cases for descriptors - Reduce memory footprint for an object - Quick approach to create Json
Metaclasses: [Duration: 30mins]
How classes work in Python Class and object creation lifecycle What and How of metaclasses Practical use cases - Singleton and bean like Objects - Abstract family of classes - Logging infra
Decorators: [Duration: 20mins]
What & How Practical use cases - Loggers - Memoizations
Generators: [Duration: 15mins]
Introduction to generators Practical use cases - Memory efficient - Infinite stream of data - Pipelining generators
Data Classes: [Duration: 30mins]
Introduction to Data Classes Practical use cases - Implementing basic Data Classes - Optimizing Data Classes
Project Implementation: [Duration: 30mins]
We will be covering all above topics to create a single project.
Design patterns & choices are an important aspect of any production application and guide the scalability, performance, and robustness of the application. In this talk, we will see some practical implementations of such design patterns.
Knowledge/Experience of python programming, classes and objects, basic overview of oops concepts is plus.
Jupyter notebook for demo:
Speaker 1: Bharat Saraswat
Bharat is working as a Web and Analytics developer at Deloitte. He is interested in Data Analysis and Visualization. He has submitted solutions for multiple ML competitions from Kaggle, Analytics vidhya and Deloitte Dlabs. He is also a core team member of Hyderabad Python Community.
Speaker 2: Ramanathan Ramakrishnamoorthy
Co-Founder, Director & Head of Research & Development at Zentropy Technologies. Before finding Zentropy, Ram worked with a leading hedge fund as a Project Manager responsible for building tools and technologies required by the middle and the back office. He was instrumental in delivering some of the most mission-critical strategic projects that helped in the overall business of the firm.
Having a keen eye for subtle data patterns, Ram also has a great understanding of machine learning and data science domain and applies the right solutions as per the project requirements. He is a specialist in performing exploratory and predictive analysis on Time Series data.