Developing Cross-Platform Applications with Python
Strategies for writing Python code that runs seamlessly across different platforms, ensuring compatibility and performance.
0 likes
8 views
Rule Content
--- name: Developing Cross-Platform Applications with Python description: Strategies for writing Python code that runs seamlessly across different platforms, ensuring compatibility and performance. category: Python Cursor Rules version: "1.0" globs: - "**/*.py" triggers: - file_open - file_save --- # Cross-Platform Development Guidelines ## 1. Use Standard Libraries - **Guideline**: Utilize Python's standard libraries, such as `os` and `sys`, to ensure consistent behavior across platforms. - **Example**: ```python import os file_path = os.path.join("my_directory", "my_file.txt") with open(file_path, 'w') as f: f.write("Hello, World!") ``` ## 2. Handle File Paths Appropriately - **Guideline**: Use `os.path` functions like `os.path.join` and `os.path.abspath` to create file paths that are compatible across different operating systems. - **Example**: ```python import os path = os.path.join("documents", "file.txt") full_path = os.path.abspath(path) print(full_path) # Output will be OS-specific correct path ``` ## 3. Manage Line Endings - **Guideline**: When reading or writing files, handle line endings by using the `newline` parameter in the `open` function to ensure consistency across platforms. - **Example**: ```python with open("my_file.txt", 'r', newline='') as f: content = f.read() ``` ## 4. Use Virtual Environments - **Guideline**: Employ virtual environments to manage dependencies and maintain consistency across different development environments. - **Example**: ```bash python -m venv myenv source myenv/bin/activate # On macOS/Linux myenv\Scripts\activate # On Windows ``` ## 5. Test on Multiple Platforms - **Guideline**: Test your code on all intended platforms to identify and resolve platform-specific issues. Utilize virtual machines or cloud services to facilitate testing. ## 6. Use Cross-Platform Libraries - **Guideline**: Leverage libraries designed for cross-platform compatibility, such as `requests` for HTTP requests and `Pillow` for image processing. - **Example**: ```python import requests response = requests.get("https://api.example.com/data") data = response.json() print(data) ``` ## 7. Be Mindful of OS-Specific Code - **Guideline**: When OS-specific code is necessary, use `sys.platform` to conditionally execute code based on the operating system. - **Example**: ```python import sys if sys.platform.startswith("win"): # Windows-specific code elif sys.platform.startswith("linux"): # Linux-specific code elif sys.platform == "darwin": # macOS-specific code ``` ## 8. Follow PEP 8 Standards - **Guideline**: Adhere to PEP 8 style guidelines to ensure code readability and maintainability. - **Example**: ```python # Correct: def calculate_area(radius): return 3.14 * radius ** 2 # Incorrect: def calculateArea(radius): return 3.14*radius**2 ``` ## 9. Implement Comprehensive Testing - **Guideline**: Write unit tests for all new components and utilities, aiming for at least 80% test coverage. - **Example**: ```python import unittest class TestMathOperations(unittest.TestCase): def test_addition(self): self.assertEqual(2 + 2, 4) if __name__ == '__main__': unittest.main() ``` ## 10. Document Your Code - **Guideline**: Use docstrings to document functions, classes, and modules, providing clear explanations of their purpose and usage. - **Example**: ```python def add_numbers(a, b): """ Add two numbers and return the result. Parameters: a (int): The first number. b (int): The second number. Returns: int: The sum of the two numbers. """ return a + b ```