Skip to main content

Python tools for working with Star Citizen data files.

Project description

scdatatools

https://img.shields.io/pypi/v/scdatatools.svg https://img.shields.io/travis/ExterraGroup/scdatatools.svg Documentation Status https://coveralls.io/repos/github/ExterraGroup/scdatatools/badge.svg?branch=devel https://img.shields.io/badge/code%20style-black-000000.svg

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 all the initial hard work reversing the P4K and DataForge file formats! This would’ve taken a lot longer with his efforts.

History

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.3.tar.gz (37.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scdatatools-0.1.3-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scdatatools-0.1.3.tar.gz
  • Upload date:
  • Size: 37.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.20.1 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.2

File hashes

Hashes for scdatatools-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9b0ab6dcf464d33ff6ca6acc8932b86d13204454b00979f8317f4c273d85535c
MD5 90ba606bc602909f6bfc1f3569377346
BLAKE2b-256 4d7a35374a1a77d5cce9cbd7ff3fdb29f09c076ffdb1fb3cf6714c05ef2f1307

See more details on using hashes here.

File details

Details for the file scdatatools-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: scdatatools-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.20.1 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.2

File hashes

Hashes for scdatatools-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4aded87f88e4ccabc9c9405329c29b756b2fdf598e873f58a971bed46c3558c8
MD5 c757640412346e537f8bab7ec346cc97
BLAKE2b-256 d90104c19ad61328b77be66f92a563b7ab02bc6bd2c495a504cb18b808886a2b

See more details on using hashes here.

Supported by

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