evipy


Nameevipy JSON
Version 0.0.2 PyPI version JSON
download
home_pageNone
SummaryControl eviqo devices (via the cloud) in python. See also eviqo-hacs for a home-assistant connection.
upload_time2025-10-22 05:10:01
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseMIT
keywords charging eviqo iot monitoring websocket
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # evipy

[![PyPI version](https://badge.fury.io/py/evipy.svg)](https://badge.fury.io/py/evipy)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)

A Python library for controlling Eviqo devices via cloud connection. Monitor your Eviqo charging stations and retrieve real-time data through WebSocket communication.

## Features

- Real-time monitoring of Eviqo charging stations
- WebSocket-based communication with Eviqo cloud services
- Live widget updates and device status tracking
- Automatic session management and authentication
- Type-safe data models with Pydantic

## Installation

Install evipy from PyPI:

```bash
pip install evipy
```

## Quick Start

### Prerequisites

Before using evipy, you need to set up your Eviqo credentials as environment variables:

```bash
export EVIQO_EMAIL="your-email@example.com"
export EVIQO_PASSWORD="your-password"
```

Alternatively, create a `.env` file in your project directory:

```env
EVIQO_EMAIL=your-email@example.com
EVIQO_PASSWORD=your-password
```

### Running the Monitor

To start monitoring your Eviqo devices in real-time:

```bash
python -m evipy.evipy
```

This will:
1. Connect to the Eviqo cloud service
2. Authenticate using your credentials
3. Discover your devices
4. Display live updates from your charging stations

### Example Output

```
14:23:15 - evipy - login:195 - Found device name='Home Charger' deviceId=89349
14:23:16 - evipy - parse_widget_update:344 - {'widget_id': '5', 'widget_name': 'Charging Power', 'device_id': '89349', 'widget_value': '241.29'}
```

## Requirements

- Python 3.12 or higher
- Eviqo account with device access
- Internet connection for cloud communication

## Development

### Setting up Development Environment

1. Clone the repository:
```bash
git clone https://github.com/zacharyasmith/evipy.git
cd evipy
```

2. Install development dependencies:
```bash
pip install -e ".[dev]"
```

3. Set up your environment variables as described above.

### Code Quality

**Just use pre-commit for standard checks!**

This project uses:
- **Ruff** for linting and formatting
- **MyPy** for type checking
- **Pydantic** for data validation
- **pytest** for testing

Run quality checks:
```bash
pre-commit run --all
```

## Contributing

We welcome contributions! Please follow these steps:

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Ensure `pre-commit` is installed
5. Commit your changes (`git commit -m 'Add amazing feature'`)
6. Push to your branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request

## Issues and Support

If you encounter any issues or have questions:

- **Bug Reports**: [GitHub Issues](https://github.com/zacharyasmith/evipy/issues)
- **Feature Requests**: [GitHub Issues](https://github.com/zacharyasmith/evipy/issues)
- **Questions**: [GitHub Discussions](https://github.com/zacharyasmith/evipy/discussions)

When reporting bugs, please include:
- Python version
- evipy version (`pip show evipy`)
- Error messages and stack traces
- Steps to reproduce the issue

## Related Projects

- **eviqo-hacs**: Home Assistant Custom Component for Eviqo integration

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Disclaimer

This is an unofficial library and is not affiliated with or endorsed by Eviqo. Use at your own risk.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "evipy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "charging, eviqo, iot, monitoring, websocket",
    "author": null,
    "author_email": "Zach <zach@smamily.com>",
    "download_url": "https://files.pythonhosted.org/packages/1e/49/961dbc803af1c5ae9f4fbe99bc51352476c634945d77686e313c6d15df46/evipy-0.0.2.tar.gz",
    "platform": null,
    "description": "# evipy\n\n[![PyPI version](https://badge.fury.io/py/evipy.svg)](https://badge.fury.io/py/evipy)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)\n\nA Python library for controlling Eviqo devices via cloud connection. Monitor your Eviqo charging stations and retrieve real-time data through WebSocket communication.\n\n## Features\n\n- Real-time monitoring of Eviqo charging stations\n- WebSocket-based communication with Eviqo cloud services\n- Live widget updates and device status tracking\n- Automatic session management and authentication\n- Type-safe data models with Pydantic\n\n## Installation\n\nInstall evipy from PyPI:\n\n```bash\npip install evipy\n```\n\n## Quick Start\n\n### Prerequisites\n\nBefore using evipy, you need to set up your Eviqo credentials as environment variables:\n\n```bash\nexport EVIQO_EMAIL=\"your-email@example.com\"\nexport EVIQO_PASSWORD=\"your-password\"\n```\n\nAlternatively, create a `.env` file in your project directory:\n\n```env\nEVIQO_EMAIL=your-email@example.com\nEVIQO_PASSWORD=your-password\n```\n\n### Running the Monitor\n\nTo start monitoring your Eviqo devices in real-time:\n\n```bash\npython -m evipy.evipy\n```\n\nThis will:\n1. Connect to the Eviqo cloud service\n2. Authenticate using your credentials\n3. Discover your devices\n4. Display live updates from your charging stations\n\n### Example Output\n\n```\n14:23:15 - evipy - login:195 - Found device name='Home Charger' deviceId=89349\n14:23:16 - evipy - parse_widget_update:344 - {'widget_id': '5', 'widget_name': 'Charging Power', 'device_id': '89349', 'widget_value': '241.29'}\n```\n\n## Requirements\n\n- Python 3.12 or higher\n- Eviqo account with device access\n- Internet connection for cloud communication\n\n## Development\n\n### Setting up Development Environment\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/zacharyasmith/evipy.git\ncd evipy\n```\n\n2. Install development dependencies:\n```bash\npip install -e \".[dev]\"\n```\n\n3. Set up your environment variables as described above.\n\n### Code Quality\n\n**Just use pre-commit for standard checks!**\n\nThis project uses:\n- **Ruff** for linting and formatting\n- **MyPy** for type checking\n- **Pydantic** for data validation\n- **pytest** for testing\n\nRun quality checks:\n```bash\npre-commit run --all\n```\n\n## Contributing\n\nWe welcome contributions! Please follow these steps:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Ensure `pre-commit` is installed\n5. Commit your changes (`git commit -m 'Add amazing feature'`)\n6. Push to your branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\n## Issues and Support\n\nIf you encounter any issues or have questions:\n\n- **Bug Reports**: [GitHub Issues](https://github.com/zacharyasmith/evipy/issues)\n- **Feature Requests**: [GitHub Issues](https://github.com/zacharyasmith/evipy/issues)\n- **Questions**: [GitHub Discussions](https://github.com/zacharyasmith/evipy/discussions)\n\nWhen reporting bugs, please include:\n- Python version\n- evipy version (`pip show evipy`)\n- Error messages and stack traces\n- Steps to reproduce the issue\n\n## Related Projects\n\n- **eviqo-hacs**: Home Assistant Custom Component for Eviqo integration\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Disclaimer\n\nThis is an unofficial library and is not affiliated with or endorsed by Eviqo. Use at your own risk.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Control eviqo devices (via the cloud) in python. See also eviqo-hacs for a home-assistant connection.",
    "version": "0.0.2",
    "project_urls": {
        "Changelog": "https://github.com/zacharyasmith/evipy/releases",
        "Discussions": "https://github.com/zacharyasmith/evipy/discussions",
        "Homepage": "https://github.com/zacharyasmith/evipy",
        "Issues": "https://github.com/zacharyasmith/evipy/issues",
        "Repository": "https://github.com/zacharyasmith/evipy"
    },
    "split_keywords": [
        "charging",
        " eviqo",
        " iot",
        " monitoring",
        " websocket"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d8d229b351f9eb38cfee612b8e0ef46f5c048d2ab7f9573bdc35bcca46680798",
                "md5": "9264c3475754c76c513fe0cc016ae5b0",
                "sha256": "dda7c13809264be2861a42f504b54cba4f4ab38d060e1e1778c97103dbc4b651"
            },
            "downloads": -1,
            "filename": "evipy-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9264c3475754c76c513fe0cc016ae5b0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 10900,
            "upload_time": "2025-10-22T05:10:00",
            "upload_time_iso_8601": "2025-10-22T05:10:00.343059Z",
            "url": "https://files.pythonhosted.org/packages/d8/d2/29b351f9eb38cfee612b8e0ef46f5c048d2ab7f9573bdc35bcca46680798/evipy-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1e49961dbc803af1c5ae9f4fbe99bc51352476c634945d77686e313c6d15df46",
                "md5": "7f54be0fcb144d36c4f45b661b7c6344",
                "sha256": "071e329c2549245c7d2238a7aa49cbcd5d96b9dbcd3251ef56b99c6e543c82a7"
            },
            "downloads": -1,
            "filename": "evipy-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "7f54be0fcb144d36c4f45b661b7c6344",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 42084,
            "upload_time": "2025-10-22T05:10:01",
            "upload_time_iso_8601": "2025-10-22T05:10:01.491072Z",
            "url": "https://files.pythonhosted.org/packages/1e/49/961dbc803af1c5ae9f4fbe99bc51352476c634945d77686e313c6d15df46/evipy-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-22 05:10:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zacharyasmith",
    "github_project": "evipy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "evipy"
}
        
Elapsed time: 1.62491s