Skip to main content

Python tools for working with Star Citizen data files.

Project description

Python API for interactive with the data files in Star Citizen.

Hey! Listen!

This tool is in very early development. The CLI is a WIP and may not be completely plumbed up yet. If you’d like to help out and know Python, try out the API a little bit and see if you run into errors parsing files! We’re also at the stage that feature/usability feedback would be much appreciated.

Features

  • cli interface

  • TODO

CLI Examples

usage: scdt [-h] [--verbose] [--stderr] [--command-timeout COMMAND_TIMEOUT] [command] ...

positional arguments:
  [command]             Subcommand to run, if missing the interactive mode is started instead.
    cryxml-to-json      Convert a CryXML file to JSON
    cryxml-to-xml       Convert a CryXML file to xml
    unforge             Convert a DataForge file to a readable format
    unp4k               Extract files from a P4K file
    actionmap           Dumps the default profile action map (keybinds) as JSON

API Examples

Read a DataForge database (.dcb)

from scdatatools.forge import DataCoreBinary
dcb = DataCoreBinary('research/Game.dcb.3.9.1-ptu.5229583')
jav_records = dcb.search_filename('*javelin.xml')
print(dcb.dump_record_json(jav_records[-1]))

Use the StarCitizen class:

from scdatatools.sc import StarCitizen
sc = StarCitizen('D:/Path/To/LIVE')
sc.p4k.search('idris')
sc.datacore.records[0]

Special Thanks

A huge thanks goes out to dolkensp (aka alluran) for doing the initial hard work figuring out the P4K and DataForge file formats! This would’ve taken a lot longer with his efforts.

Made By the Star Citizen Community

This project is not endorsed by or affiliated with the Cloud Imperium or Roberts Space Industries group of companies. All game content and materials are copyright Cloud Imperium Rights LLC and Cloud Imperium Rights Ltd.. Star Citizen®, Squadron 42®, Roberts Space Industries®, and Cloud Imperium® are registered trademarks of Cloud Imperium Rights LLC. All rights reserved.

History

0.1.7 (2021-04-02)

  • Added Datacore v5 support

0.1.6 (2020-12-30)

  • Moved to GitLab

  • Updated docs

  • Improved filename searches in P4Ks

  • Dataforge records can now be outputed to xml as well

  • Improved pretty printing of XML output

0.1.5 (2020-12-9)

  • Improved path and error handling

0.1.3 (2020-12-06)

  • Added SC profile dumping (actionmaps)

  • New StarCitizen class convenience wrapper around the installation dir

  • Support for looking up localization strings

  • Dataforge fixes

0.1.2 (2020-05-20)

  • Initial commit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scdatatools-0.1.9.tar.gz (138.2 kB view details)

Uploaded Source

Built Distribution

scdatatools-0.1.9-py2.py3-none-any.whl (63.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file scdatatools-0.1.9.tar.gz.

File metadata

  • Download URL: scdatatools-0.1.9.tar.gz
  • Upload date:
  • Size: 138.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for scdatatools-0.1.9.tar.gz
Algorithm Hash digest
SHA256 43bda36c394cecac5cc71c2aa2cc33a6e129122f291a8c9820b3330c2b0b3ae3
MD5 8193741e544e25506cf5d1b175be7484
BLAKE2b-256 a520f0d66c9485ab4db7fe3752e67e8a47b7063ddf74b8b056303df718fce58f

See more details on using hashes here.

File details

Details for the file scdatatools-0.1.9-py2.py3-none-any.whl.

File metadata

  • Download URL: scdatatools-0.1.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 63.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for scdatatools-0.1.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e499db4ab2968d20b11b194e2f9cc83c46882b7f9f8640cd68165d6a7556d3b8
MD5 cd15fe3fec67ccbb1ac82a95c903ff7e
BLAKE2b-256 77f6ee3f0001c364930cf7270f5c37e151db17fe024050b707b60fa8efe6674c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page