acd.py
Python module for reading and writing Assetto Corsa Data (.acd) files.
Documentation
You can find the documentation for the library here.
Installation
The project is available on PyPI and can be installed using pip:
pip install acd.py
Notes about the .acd file format
- Most .acd files do not have a signature, so it's usually impossible to check whether a given file is actualy a .acd file without attempting to read it.
- Moving or renaming a .acd file can make it impossible to decrypt because the encryption key is generated based on either the basename or dirname of the specific file (see the docs for a more in-depth explanation).
Using the library
See the documentation for examples on how to use the library.
Using the CLI
The acd CLI provides only 3 commands: view, unpack and pack. The names of the commands are pretty self-explanatory, but this is how they work in action:
To view what's inside a .acd file, you can run acd view.
$ acd view data.acd
Available items:
1) aero.ini 17) drs.ini 33) suspension_graphics.ini
2) ai.ini 18) electronics.ini 34) suspensions.ini
3) ambient_shadows.ini 19) engine.ini 35) tcurve_wdt_front.lut
4) analog_instruments.ini 20) escmode.ini 36) tcurve_wdt_rear.lut
5) analog_speed_curve.lut 21) fin_AOA_CD.lut 37) throttle.lut
6) analog_turbo_curve.lut 22) fin_AOA_CL.lut 38) tyres.ini
7) blurred_objects.ini 23) final.rto 39) tyres_wdt.lut
8) brakes.ini 24) flame_presets.ini 40) wing_animations.ini
9) cameras.ini 25) flames.ini 41) wing_body_AOA_CD.lut
10) car.ini 26) lights.ini 42) wing_body_AOA_CL.lut
11) colliders.ini 27) lods.ini 43) wing_front_AOA_CD.lut
12) damage.ini 28) mirrors.ini 44) wing_front_AOA_CL.lut
13) dash_cam.ini 29) power.lut 45) wing_rear_AOA_CD.lut
14) digital_instruments.ini 30) proview_nodes.ini 46) wing_rear_AOA_CL.lut
15) driver3d.ini 31) setup.ini
16) drivetrain.ini 32) sounds.ini
Select which item to view (1-46, 0 to abort): 2
[GEARS]
UP=6900
DOWN=4000
SLIP_THRESHOLD=0.95
GAS_CUTOFF_TIME=0.300
[PEDALS]
GASGAIN=4.0
BRAKE_HINT=0.87
TRAIL_HINT=0.5
[STEER]
STEER_GAIN=1.61
[LOOKAHEAD]
BASE=17.1
GAS_BRAKE_LOOKAHEAD=10
[HEADER]
VERSION=3
[ULTRA_GRIP]
VALUE=1.2
[PHYSICS_HINTS]
AERO_HINT=1
To pack a directory into a .acd file, you can run acd pack.
$ ls data_dir
aero.ini electronics.ini suspensions.ini
ai.ini engine.ini tcurve_wdt_front.lut
ambient_shadows.ini escmode.ini tcurve_wdt_rear.lut
analog_instruments.ini final.rto throttle.lut
analog_speed_curve.lut fin_AOA_CD.lut tyres.ini
blurred_objects.ini fin_AOA_CL.lut tyres_wdt.lut
brakes.ini fuel_cons.ini wing_animations.ini
cameras.ini lights.ini wing_body_AOA_CD.lut
car.ini lods.ini wing_body_AOA_CL.lut
colliders.ini mirrors.ini wing_front_AOA_CD.lut
damage.ini power.lut wing_front_AOA_CL.lut
dash_cam.ini proview_nodes.ini wing_rear_AOA_CD.lut
digital_instruments.ini setup.ini wing_rear_AOA_CL.lut
driver3d.ini sounds.ini
drivetrain.ini suspension_graphics.ini
$ acd pack data_dir data.acd
To unpack the contents of a .acd file into a directory, you can use acd unpack.
$ acd unpack data.acd data_dir
$ ls data_dir
aero.ini electronics.ini suspensions.ini
ai.ini engine.ini tcurve_wdt_front.lut
ambient_shadows.ini escmode.ini tcurve_wdt_rear.lut
analog_instruments.ini final.rto throttle.lut
analog_speed_curve.lut fin_AOA_CD.lut tyres.ini
blurred_objects.ini fin_AOA_CL.lut tyres_wdt.lut
brakes.ini fuel_cons.ini wing_animations.ini
cameras.ini lights.ini wing_body_AOA_CD.lut
car.ini lods.ini wing_body_AOA_CL.lut
colliders.ini mirrors.ini wing_front_AOA_CD.lut
damage.ini power.lut wing_front_AOA_CL.lut
dash_cam.ini proview_nodes.ini wing_rear_AOA_CD.lut
digital_instruments.ini setup.ini wing_rear_AOA_CL.lut
driver3d.ini sounds.ini
drivetrain.ini suspension_graphics.ini
Release files for acd.py 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| acd_py-1.0.0.tar.gz | 14.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| acd_py-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.7 kB
Release files / acd_py-1.0.0.tar.gz
| Download URL | acd_py-1.0.0.tar.gz |
|---|---|
| Size | 14.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e5b4749e4e3c901f0dd577bf34459a0fcfb9471c4c945bec43c80dc089a5e41
|
|
BLAKE2b-256 checksum How to use checksums |
fdbe3762a6849dda60683361df6cb19548400270714b2c0bc058f90d53c3e7ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / acd_py-1.0.0-py3-none-any.whl
| Download URL | acd_py-1.0.0-py3-none-any.whl |
|---|---|
| Size | 13.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
539e80212a0644432a4e6fb8c6c74865b85d4395047eabbfaa5aab49783335e0
|
|
BLAKE2b-256 checksum How to use checksums |
e0734ae2d3589f122fb1f003a6bd801fdfc3754e19d6f8e714edea3604acac69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|