Skip to content

Commit e3716c2

Browse files
committed
Added contributor different section,added week 29 2023 newsletter
1 parent 94f926c commit e3716c2

File tree

7 files changed

+300
-7
lines changed

7 files changed

+300
-7
lines changed

doc/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
source_suffix = ['.rst', '.md']
2525

26-
extensions = ['myst_parser','sphinx.ext.autodoc', 'sphinx.ext.autosummary','sphinx_copybutton']
26+
extensions = ['myst_parser','sphinx.ext.autodoc', 'sphinx.ext.autosummary','sphinx_copybutton','sphinx_contributors']
2727

2828
templates_path = ['_templates']
2929
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

doc/contributors.rst

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Contributors
2+
============
3+
4+
We would like to express our sincere gratitude to the following
5+
contributors who have made valuable contributions
6+
7+
8+
.. contributors:: python-world/Newsletter
9+
:avatars:
10+
:contributions:
11+
:order: DESC
12+
13+
Thank you for your dedication and for enriching the Python community
14+
with your valuable insights, code snippets, and contributions! Happy
15+
coding! 🐍✨

doc/index.rst

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,8 @@ Python-world Newsletter
99
.. toctree::
1010
:maxdepth: 2
1111

12-
modules
12+
contributors
13+
modules
14+
15+
16+

doc/modules.rst

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@
33
:maxdepth: 4
44

55
newsletters/index.2023
6-
newsletters/index.2022
6+
newsletters/index.2022
7+
8+
.. contributors:: sphinx-doc/sphinx

doc/newsletters/2023/WEEK_29.md

+270
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
2+
# Week 29 - Jully 2023
3+
4+
## Introduction and Highlights
5+
6+
7+
Welcome to the latest edition of the Python-World Newsletter! We bring
8+
you the most exciting updates and insightful content from the Python
9+
community. In this week’s edition, we have some incredible code
10+
snippets, community spotlights, upcoming events, useful resources, and
11+
more. Let’s dive in!
12+
13+
## Code Snippets
14+
15+
### 1. 💼 Simplifying Python Classes with Dataclasses.
16+
17+
Python dataclasses are a fantastic addition to the Python standard library that simplifies the creation of classes for storing data. 🏰💾 With just a few lines of code, you can define classes that come with built-in methods for easy attribute initialization, comparison, and more. 🎁💻
18+
19+
**🌟 Key Features of Python Dataclasses:**
20+
21+
✅ Automatic attribute initialization - Say goodbye to writing tedious `__init__` methods!
22+
23+
✅ Concise and clean class definitions using decorators.
24+
25+
✅ Built-in methods for equality comparison, representation, and more.
26+
27+
✅ Customizable field defaults and ordering.
28+
29+
✅ Full integration with Python's standard library.
30+
31+
32+
**📝 Simple Examples to Get Started:**
33+
34+
```python
35+
from dataclasses import dataclass
36+
37+
@dataclass
38+
class Point:
39+
x: int
40+
y: int
41+
42+
# Creating instances
43+
p1 = Point(1, 2)
44+
p2 = Point(3, 4)
45+
46+
# Accessing attributes
47+
print(f"Point 1: x={p1.x}, y={p1.y}")
48+
print(f"Point 2: x={p2.x}, y={p2.y}")
49+
```
50+
51+
**🚀 Use Cases for Python Dataclasses:**
52+
1. **Configuration Objects**: Use dataclasses to create clean and straightforward configuration objects for your applications. 🛠️🔧
53+
2. **Data Containers**: Dataclasses are perfect for holding and manipulating structured data, such as CSV records or JSON data. 📂🗃️
54+
3. **API Responses**: Parse API responses into dataclass instances, making the data easy to work with and comprehend. 📡💼
55+
4. **Immutable Objects**: By default, dataclasses are immutable, making them suitable for representing read-only data. 🔒🔏
56+
5. **Testing**: Dataclasses can be incredibly useful when writing test cases with complex input data. 🧪🧾
57+
58+
**💡 Pro Tip:**
59+
Don't forget to explore advanced dataclass features like default values, ordering, and post-init processing. Dataclasses are highly customizable to fit your specific needs! 🔍🔧
60+
61+
62+
63+
### 2. 🔦 Exploring Python's Hidden Secrets: The inspect Module
64+
65+
The `inspect` module is your backstage pass to Python's internals. 🎭🎫 It provides functions for introspecting live objects like modules, classes, functions, and more. With `inspect`, you can retrieve information about code objects, inspect callables' signatures, and even perform source code analysis. 🕵️‍♀️📝
66+
67+
**🔍 Key Features of `inspect`:**
68+
69+
✅ Retrieving information about objects and modules at runtime.
70+
71+
✅ Accessing source code and analyzing the structure of Python functions and classes.
72+
73+
✅ Inspecting and manipulating the call signature of functions.
74+
75+
✅ Extracting and examining documentation strings.
76+
77+
✅ Finding the source file and line number of code objects.
78+
79+
**📝 Examples to Get Started:**
80+
```python
81+
import inspect
82+
83+
# Get the source code of a function
84+
def greet(name,age):
85+
return f"Hello, {name}!"
86+
87+
source_code = inspect.getsource(greet)
88+
print('Source code:\n',source_code)
89+
90+
# Inspect a function's signature
91+
signature = inspect.signature(greet)
92+
print("Signature:",signature)
93+
94+
95+
96+
'''
97+
Output
98+
Source code:
99+
def greet(name,age):
100+
return f"Hello, {name}!"
101+
102+
Signature: (name, age)
103+
'''
104+
105+
```
106+
107+
**🚀 Use Cases for `inspect`:**
108+
1. **Debugging and Logging**: Use `inspect` to gather information about the calling frames for powerful debugging and logging capabilities. 🐞📝
109+
2. **Documentation Generation**: Automate the generation of documentation by extracting docstrings and function signatures with `inspect`. 📚📜
110+
3. **Dynamic Function Invocation**: Dynamically call functions with the correct arguments using `inspect` to inspect their signatures. 📞🔧
111+
4. **Code Analysis**: Perform static code analysis and gather insights about your codebase using `inspect` functions. 📊📋
112+
5. **Custom Decorators**: Create custom decorators that can automatically introspect and modify the behavior of decorated functions. 🎭🔮
113+
114+
**💡 Pro Tip:**
115+
Experiment with `inspect` interactively in a Python REPL to get a better feel for its capabilities. 🔄🔬
116+
117+
118+
119+
120+
### 3. 🔧 The Python Package Manager: Unleashing the Power of pip
121+
122+
123+
`pip` is your go-to tool for installing, managing, and distributing Python packages. 🛠️📚 With a vast repository of open-source libraries available on the Python Package Index (PyPI), `pip` makes it a breeze to enhance your Python projects with external functionality. 🌟📦
124+
125+
**🌟 Key Features of `pip`:**
126+
127+
✅ Installing packages with a simple command - `pip install package-name`.
128+
129+
✅ Managing package versions and dependencies effortlessly.
130+
131+
✅ Listing installed packages - `pip list`.
132+
133+
✅ Upgrading packages to the latest versions - `pip install --upgrade package-name`.
134+
135+
✅ Creating virtual environments for isolated package installations.
136+
137+
**📝 Examples to Get Started:**
138+
139+
```python
140+
# Install a package
141+
# Example: Installing the popular requests library
142+
# pip install requests
143+
144+
# Listing installed packages
145+
# pip list
146+
147+
# Upgrading a package
148+
# Example: Upgrading requests to the latest version
149+
# pip install --upgrade requests
150+
```
151+
152+
**🚀 Use Cases for `pip`:**
153+
154+
1. **Library Installation**: Use `pip` to easily install third-party libraries like NumPy, pandas, Django, and more, saving you time and effort. 📚💡
155+
2. **Package Management**: Keep your project's dependencies organized and up to date with `pip`, ensuring smooth collaboration. 📦🔄
156+
3. **Virtual Environments**: Create virtual environments to isolate package installations and avoid version conflicts. 🌐🧪
157+
4. **Continuous Integration**: Utilize `pip` to install project dependencies in CI/CD pipelines for automated testing and deployment. 🚀🔧
158+
5. **Package Distribution**: Share your Python projects with others by distributing them as packages on PyPI using `pip`. 🚀🌟
159+
160+
**💡 Pro Tip:**
161+
Explore `pip`'s extensive options like installing packages from version control repositories or installing specific package versions to suit your project's requirements. 🔄🎛️
162+
163+
164+
### 4. 🎁 Unpacking the Magic of Tuples
165+
166+
Tuples are one of Python's versatile data structures, and unpacking allows you to extract individual elements from a tuple effortlessly. 🎩🌟 It's like unwrapping a present and discovering the treasures within! 🎁💎
167+
168+
**🧳 Packing Tuples for Efficiency:**
169+
Packing, on the other hand, involves creating tuples by grouping elements together. 🎒🌐 It's like packing your essentials for a journey, ensuring everything stays organized and accessible. 🧳🗺️
170+
171+
**📝 Examples to Get Started:**
172+
```python
173+
# Tuple Unpacking
174+
point = (10, 20)
175+
x, y = point
176+
print(f"x: {x}, y: {y}")
177+
178+
# Extended Unpacking
179+
numbers = (1, 2, 3, 4, 5)
180+
first, *middle, last = numbers
181+
print(f"First: {first}, Middle: {middle}, Last: {last}")
182+
183+
# Tuple Packing
184+
person = "John", 30, "Engineer"
185+
print(person)
186+
```
187+
188+
**🚀 Use Cases for Tuple Unpacking and Packing:**
189+
1. **Multiple Return Values**: Unpack tuples to receive multiple return values from functions in one assignment. 📤🔁
190+
2. **Swapping Values**: Swap variable values without using a temporary variable using tuple unpacking. ↔️🔄
191+
3. **Iterating over Multiple Elements**: Unpack tuples while iterating over lists or other iterable data structures. 🔄📑
192+
4. **Function Arguments**: Use tuple packing to pass multiple arguments to a function in a single parameter. 📋🎛️
193+
5. **Namedtuples**: Unpack namedtuples for concise access to individual attributes. 🏷️🗃️
194+
195+
**💡 Pro Tip:**
196+
Remember that both tuple unpacking and packing support extended syntax, allowing you to handle multiple elements at once! 🎯🎯
197+
198+
199+
200+
### 5. ➗ Divmod - Dividing and Modulo Together
201+
202+
`divmod` is a Python built-in function that takes two numbers and returns a pair of values - the result of integer division and the remainder (modulo). 🧮🔢 It's like getting two for the price of one! 💲🎁
203+
204+
**📝 Examples to Get Started:**
205+
```python
206+
# Using divmod
207+
result = divmod(20, 3)
208+
print(f"Result of divmod(20, 3): {result}")
209+
210+
# Using divmod in a loop
211+
quotients = []
212+
remainders = []
213+
for num in range(1, 6):
214+
q, r = divmod(20, num)
215+
quotients.append(q)
216+
remainders.append(r)
217+
print(f"Quotients: {quotients}")
218+
print(f"Remainders: {remainders}")
219+
```
220+
221+
**🚀 Use Cases for `divmod`:**
222+
1. **Time Conversion**: Convert seconds into hours, minutes, and remaining seconds using `divmod`. 🕐🕒
223+
2. **Loop Iterations**: Use `divmod` in loops to efficiently calculate quotients and remainders for a range of numbers. 🔃🔢
224+
3. **Formatting**: Combine `divmod` results to display complex numerical data elegantly. 🎨🔠
225+
4. **Resource Allocation**: Distribute resources evenly among a given number of entities using `divmod`. 💻📊
226+
5. **Currency Handling**: Calculate the number of denominations needed when making change with `divmod`. 💲💸
227+
228+
**💡 Pro Tip:**
229+
Remember that `divmod` can be a powerful tool to optimize certain mathematical operations and simplify your code. 🧮🚀
230+
231+
232+
## Upcoming Events
233+
234+
235+
| Event Name | Date | Location | URL |
236+
|------------------|---------|-----------|---------------------------|
237+
| North Bay Python 2023 | July 29th & 30th | Petaluma, California | [Website](https://dev.events/conferences/north-bay-python-petaluma-6-2023) |
238+
| PyDelhi Conference 2023 | Aug 19th & 20th | Delhi | [Website](https://conference.pydelhi.org/) |
239+
| PyCon 2023 | Sept 29 To Oct 2 | HYDRABAD | [Website](https://in.pycon.org/2023/) |
240+
241+
242+
Stay updated with the latest events and conferences in the Python
243+
community. Mark your calendars and don’t miss out on these exciting
244+
opportunities to learn, network, and engage with fellow Python
245+
enthusiasts!
246+
247+
248+
249+
Contact
250+
-------
251+
252+
Sure! Here's the text formatted in proper Markdown format:
253+
254+
If you have any questions or need further assistance, feel free to reach out to us at [[email protected]](mailto:[email protected]) or join the discussion on our [GitHub Discussions](https://github.com/Python-World/newsletter/discussions) board.
255+
256+
257+
## Contributors
258+
259+
260+
We would like to express our sincere gratitude to the following
261+
contributors who have made valuable contributions to this edition of the
262+
Python-World Newsletter:
263+
264+
- [Ravishankar Chavare](https://github.com/chavarera/)
265+
- [Aahnik Daw](https://github.com/aahnik/)
266+
267+
268+
Thank you for your dedication and for enriching the Python community
269+
with your valuable insights, code snippets, and contributions! Happy
270+
coding! 🐍✨

doc/newsletters/index.2023.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
==========
33
.. toctree::
44
:maxdepth: 4
5-
5+
6+
2023 Jully - Week 29 <2023/WEEK_29.md>
67
2023 Jully - Week 28 <2023/WEEK_28.md>
78
2023 Jully - Week 27 <2023/WEEK_27.md>
89
2023 June - Week 26 <2023/WEEK_26.rst>

requirements.txt

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
sphinx_copybutton
2-
ghp-import
31
furo
42
sphinx
5-
myst-parser
3+
ghp-import
4+
myst-parser
5+
sphinx_copybutton
6+
sphinx-contributors

0 commit comments

Comments
 (0)