Metadata-Version: 2.1
Name: odoolint
Version: 1.0.7
Summary: A comprehensive linting tool for Odoo modules
Home-page: https://github.com/dgperp/odoolint
Author: Your Name
Author-email: your.email@example.com
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/dgperp/odoolint/issues
Project-URL: Source, https://github.com/dgperp/odoolint/
Keywords: odoo,linter,development,tools
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
Requires-Dist: flake8
Requires-Dist: pyyaml

# Odoolint

Odoolint is a comprehensive linting tool designed specifically for Odoo modules. It helps developers maintain code quality and consistency across their Odoo projects by performing various checks on Python files, XML files, and other web assets.

## Features

- Python code style checking using Flake8
- XML ID duplication detection within Odoo modules
- End-of-file newline validation for various file types

## Installation

You can install Odoolint using pip:

```
pip install odoolint
```

## Usage

Run Odoolint from the command line in your Odoo project directory:

```
odoolint
```

Odoolint will automatically look for a `.odoolint` configuration file in the current directory. If no configuration file is found, default settings will be used.

## Configuration

Create a `.odoolint` file in YAML format in your project's root directory to customize Odoolint's behavior. Here's an example configuration:

```yaml
flake8_select: "C,E,F,W,B,B9,N801,N803"
flake8_ignore: "E203,E501,W503,C901,W605,E722,E731"
flake8_exclude:
  - "**unported**"
  - "**__init__.py"
  - "tests"
check_file_types:
  - ".xml"
  - ".js"
  - ".css"
  - ".scss"
  - ".csv"
```

### Configuration Options

- `flake8_select`: Comma-separated list of error codes to check for in Python files.
- `flake8_ignore`: Comma-separated list of error codes to ignore in Python files.
- `flake8_exclude`: List of file or directory patterns to exclude from checks.
- `check_file_types`: List of file extensions to check for end-of-file newlines.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the MIT License.


