1
+ <br >
2
+
3
+ [ ![ Documentation Status] ( https://readthedocs.org/projects/rocketpyalpha/badge/?version=latest )] ( https://docs.rocketpy.org/en/latest/?badge=latest )
4
+ [ ![ Chat on Discord] ( https://img.shields.io/discord/765037887016140840?logo=discord )] ( https://discord.gg/b6xYnNh )
5
+ [ ![ Sponsor RocketPy] ( https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86 )] ( https://github.com/sponsors/RocketPy-Team )
6
+ [ ![ Instagram] ( https://img.shields.io/badge/Instagram-E4405F?style=flat&logo=instagram&logoColor=white )] ( https://www.instagram.com/rocketpyteam )
7
+ [ ![ LinkedIn] ( https://img.shields.io/badge/LinkedIn-0077B5?style=flat&logo=linkedin&logoColor=white )] ( https://www.linkedin.com/company/rocketpy )
8
+
9
+ <br >
10
+
1
11
# Rocket Serializer
2
12
3
- Rocket Serializer is a Python library that provides serialization capabilities
4
- for OpenRocket files. It allows you to read OpenRocket files using a simple and
5
- intuitive command line interface.
13
+ ` rocketserializer ` is a Python library that provides serialization capabilities
14
+ for OpenRocket files. It allows you to read OpenRocket files (.ork) using a
15
+ simple and intuitive command line interface. After serializing the file, you
16
+ can use the data to create your RocketPy simulation.
17
+
18
+ ## Example
19
+
20
+ ..
21
+ <!-- insert a gif here -->
6
22
7
23
## Installation
8
24
9
- You can install Rocket Serializer using pip:
25
+ You can install ` rocketserializer ` using pip:
10
26
11
27
``` shell
12
- pip install rocket-serializer
28
+ pip install rocketserializer
13
29
```
14
30
15
31
## Requirements
16
32
17
33
### Java
18
34
19
- You need Java to be installed on your system to use Rocket Serializer .
35
+ You need Java to be installed on your system to use ` rocketserializer ` .
20
36
We recommend downloading Java 17, which is required to run OpenRocket-23.09.
21
37
22
38
https://www.oracle.com/java/technologies/downloads/
@@ -33,77 +49,89 @@ correct java version to run the jar file.
33
49
34
50
### Python Packages
35
51
36
- Once you download the package ` rocket-serializer ` , the following dependencies
52
+ Once you download the ` rocketserializer ` package , the following dependencies
37
53
will be automatically installed:
38
54
39
55
- bs4
40
- - click
56
+ - click>=8.0.0
41
57
- lxml
42
58
- numpy
43
- - orhelper
59
+ - orhelper==0.1.3
44
60
- pyyaml
45
- - rocketpy
46
- - nbformat
61
+ - rocketpy>=1.1.0
62
+ - nbformat>=5.2.0
47
63
48
64
## Usage - command line interface
49
65
50
- To use Rocket Serializer, you just need to use the cli option of the library.
51
- Here's an example:
66
+ The ` rocketserializer ` package will automatically install 2 command-line-interface (cli)
67
+ options, here's an example:
68
+
69
+ ### Serialization
70
+
71
+ To create a ` parameters.json ` file from an OpenRocket file, use the following command:
72
+
73
+ ``` bash
74
+ ork2json --filepath your_rocket.ork
75
+ ```
76
+
77
+ Or, for a more verbose output, you can use the following command:
52
78
53
79
``` bash
54
- rocket-serializer ork2json --filepath path/to/input .ork --output path/to/output
80
+ ork2json --filepath your_rocket .ork --verbose True
55
81
```
56
82
57
83
The options are the following:
58
84
59
85
- ` --filepath ` : The .ork file to be serialized.
60
- - ` --output ` : Path to the output folder. If not set, the output will be saved in the same folder os the filepath.
61
- - ` --eng ` : Path to the engine file. If not set, the library will get the thrust curve from the OpenRocket file.
86
+ - ` --output ` : Path to the output folder. If not set, the output will be saved in the same folder as the ` filepath ` .
62
87
- ` --ork_jar ` : Specify the path to the OpenRocket jar file. If not set, the library will try to find the jar file in the current directory.
88
+ - ` --encoding ` : The encoding of the .ork file. By default, it is set to ` utf-8 ` .
63
89
- ` --verbose ` : If you want to see the progress of the serialization, set this option to True. By default, it is set to False.
64
90
91
+ Only the ` --filepath ` option is mandatory.
92
+
93
+ ### Creating a simulation notebook
94
+
95
+ ``` bash
96
+ ork2notebook --filepath your_rocket.ork
97
+ ```
98
+
99
+ The options are pretty much the same as the serialization command!
100
+
65
101
### Limitations
66
102
67
103
This code won't work for your rocket if it has any of the following features:
68
104
69
- - Your file wasn't saved in English
70
- - Your file doesn't contain simulation data
71
- - Your rocket has more than one stage
72
- - Your rocket has more than one engine
73
- - Your rocket has more than one nosecone
74
-
75
- ### Deserialization
105
+ - Your .ork file must be saved in English
106
+ - Your .ork file must be saved with at least 1 simulation data
107
+ - Only one single stage is supported
108
+ - Only a single motor is supported
109
+ - Only a single nose cone is supported
76
110
77
- Still to be done.
111
+ ## Roadmap
78
112
79
- ## License
113
+ - 2024 June : First public release, start receiving feedback from the community.
80
114
81
- This project is licensed under the MIT License. See the [ LICENSE ] ( LICENSE ) file for more details .
115
+ Before the first public release, we will listen to the community's feedback before defining the roadmap for the next releases .
82
116
83
117
## Contact
84
118
85
- For any inquiries or feedback, please email us at [ rocketpyteam@gmail.com ] ( mailto:rocketpyteam@gmail.com ) .
86
119
If you find any bug or if you want to request new features, please open an issue
87
120
on GitHub.
88
-
89
- ## Contributors
90
-
91
- This project is maintained by the RocketPy Team, a group of students and
92
- software developers from all over the world.. The main contributors to this
93
- project are:
94
-
95
- - Patrick Sampaio Brandão
96
- - Franz Masatoshi Yuri
97
- - Guilherme Fernandes Alves
121
+ In case you don't have a GitHub account, you can reach out to us on RocketPy's
122
+ Discord server.
98
123
99
124
## How to Contribute
100
125
101
126
The 3 main ways of contributing to this project are:
102
127
103
- 1 . Reporting bugs and suggesting new features by opening issues on GitHub.
104
- 2 . Submitting .ork files that can be used to test the library.
105
- 3 . Developing new features and fixing bugs by opening pull requests on GitHub.
106
-
107
- ## More Information
108
-
109
- For more information, please visit the [ RocketPy Team GitHub repository] ( https://github.com/RocketPy-Team/OpenRocketSerializer ) .
128
+ 1 . ** Reporting bugs and suggesting new features.**
129
+ - Use GitHub, preferably, to report bugs and suggest new features.
130
+ - In case you don't have a GitHub account, you can reach out to us on RocketPy's Discord server
131
+ 2 . ** Sharing .ork files that can be used to test the library.**
132
+ - If you have a .ork file that is not working with the library, please share it with us.
133
+ - If you have a .ork file that is working with the library, please share it with us.
134
+ - If you allow us to use and share your .ork file, we can add it to the test suite.
135
+ 3 . ** Developing new features and fixing bugs thorough pull requests on GitHub.**
136
+ - If you want to develop new features, you are more than welcome to do so.
137
+ - Please reach out to the maintainers to discuss the new feature before starting the development.
0 commit comments