Metadata-Version: 2.4
Name: please_do_not_define
Version: 0.3.0
Summary: A Python library that prevents defining female-related names in code
Home-page: https://github.com/Locked-chess-official/please_do_not_define
Author: Your Name
Author-email: 13140752715@163.com
License: MIT
Project-URL: Source, https://github.com/Locked-chess-official/please_do_not_define
Project-URL: Bug Reports, https://github.com/Locked-chess-official/please_do_not_define/issues
Keywords: naming-conventions code-quality gender-neutral
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: project-url
Dynamic: requires-python
Dynamic: summary

# please_do_not_define
Python library that prevents you from defining variables, functions or classes with names that contain female-related terms.
Now that a small number of women declare that they are undefinedable. The library will make sure that you won't offend them.

## Installation

`pip install please_do_not_define`

## Purpose

This library helps maintain gender-neutral naming in your Python code by detecting and blocking the use of female-related terms in variable, function, and class names.

## Features
- Scans Python code for names containing female-related terms

- Blocks execution if prohibited names are found

- Supports detection of both English and Chinese female-related terms

- Works with various file encodings

## Usage

Simply import the library in your Python script:

`import please_do_not_define`

The library will automatically scan your main script file when imported and raise a NameError if any prohibited names are found.

## Prohibited Terms

The library checks for names containing any of the following terms (case insensitive):

- Chinese Terms:

`女, 姑, 婆, 媳, 妇, 娘, 嬷, 姐, 妹, 嬢, 媛`

- English Terms:

`woman, women, girl, lady, Miss, Mrs, queen, female, she, her`

## Example

If your code contains:
```
def print_girl_name():
    pass
```

The library will raise:

`NameError: name 'print_girl_name' is illegal. Please don't try to define a female.`

## bin

The bin name is `checkname`, the usage is as follows:

- `checkname filename` check whether your filename has the illegal name
- `checkname -s code` check whether your input code has the illegal name
- `checkname -v` show the version of the library
- `checkname -h` show the help information

## Note

This library is intended to satirize a point of view, not to actually express this.

## License

MIT
