python-kasa/tests
Steven B. 254a9af5c1
Update DiscoveryResult to use Mashumaro instead of pydantic (#1231)
Mashumaro is faster and doesn't come with all versioning problems that
pydantic does.

A basic perf test deserializing all of our discovery results fixtures
shows mashumaro as being about 6 times faster deserializing dicts than
pydantic. It's much faster parsing from a json string but that's likely
because it uses orjson under the hood although that's not really our use
case at the moment.

```
PYDANTIC - ms
=================
json       dict
-----------------
4.7665     1.3268
3.1548     1.5922
3.1130     1.8039
4.2834     2.7606
2.0669     1.3757
2.0163     1.6377
3.1667     1.3561
4.1296     2.7297
2.0132     1.3471
4.0648     1.4105

MASHUMARO - ms
=================
json       dict
-----------------
0.5977     0.5543
0.5336     0.2983
0.3955     0.2549
0.6516     0.2742
0.5386     0.2706
0.6678     0.2580
0.4120     0.2511
0.3836     0.2472
0.4020     0.2465
0.4268     0.2487
```
2024-11-12 22:00:04 +01:00
..
fixtures Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
iot Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
smart Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
smartcamera Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
__init__.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
conftest.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
device_fixtures.py Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
discovery_fixtures.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
fakeprotocol_iot.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
fakeprotocol_smart.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
fakeprotocol_smartcamera.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
fixtureinfo.py Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
test_aestransport.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
test_bulb.py Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
test_childdevice.py Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
test_cli.py Update DiscoveryResult to use Mashumaro instead of pydantic (#1231) 2024-11-12 22:00:04 +01:00
test_common_modules.py Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
test_device_factory.py Update DiscoveryResult to use Mashumaro instead of pydantic (#1231) 2024-11-12 22:00:04 +01:00
test_device_type.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_device.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_deviceconfig.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_dimmer.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_discovery.py Update DiscoveryResult to use Mashumaro instead of pydantic (#1231) 2024-11-12 22:00:04 +01:00
test_emeter.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_feature.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_httpclient.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_iotdevice.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_klapprotocol.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
test_lightstrip.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_plug.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_protocol.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
test_readme_examples.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_smartdevice.py Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
test_smartprotocol.py Fix test framework running against real devices (#1235) 2024-11-11 17:41:31 +00:00
test_sslaestransport.py Move transports into their own package (#1247) 2024-11-12 14:40:44 +01:00
test_strip.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00
test_usage.py Move tests folder to top level of project (#1242) 2024-11-11 10:11:31 +00:00