|
1 | 1 | # Stingray.jl
|
2 |
| -Julia porting of Stingray |
3 |
| - |
4 |
| -Stingray.jl is a Julia package for spectral timing analysis in X-ray astronomy. It provides functionality for power spectral density (PDS), cross-spectrum analysis, and variability estimation. |
5 |
| - |
6 |
| ---- |
7 |
| - |
8 |
| -## 🚀 Installation |
9 |
| - |
10 |
| -You can install **Stingray.jl** using Julia's package manager: |
11 |
| - |
12 |
| -```julia |
13 |
| -using Pkg |
14 |
| -Pkg.add(url="https://github.com/StingraySoftware/Stingray.jl") |
15 |
| -``` |
16 |
| - |
17 |
| -or, if you are working in a development environment: |
18 |
| - |
19 |
| -```julia |
20 |
| -Pkg.develop(url="https://github.com/StingraySoftware/Stingray.jl") |
21 |
| -``` |
22 |
| - |
23 |
| -To ensure all dependencies are installed, run: |
24 |
| - |
25 |
| -```julia |
26 |
| -Pkg.instantiate() |
27 |
| -``` |
28 |
| - |
29 |
| ---- |
30 |
| - |
31 |
| -## 📌 Usage |
32 |
| - |
33 |
| -Once installed, you can start using **Stingray.jl** in your Julia environment: |
34 |
| - |
35 |
| -```julia |
36 |
| -using Stingray |
37 |
| -``` |
38 |
| - |
39 |
| ---- |
40 |
| - |
41 |
| -## 🛠 Running Tests |
42 |
| - |
43 |
| -To verify that the package is working correctly, navigate to the project directory and run: |
44 |
| - |
45 |
| -```julia |
46 |
| -using Pkg |
47 |
| -Pkg.test("Stingray") |
48 |
| -``` |
49 |
| - |
50 |
| -This will run all test cases located in the `test/` directory. |
51 |
| - |
52 |
| ---- |
53 |
| - |
54 |
| -## 📖 Generating Documentation |
55 |
| - |
56 |
| -To build the documentation, navigate to the `docs/` directory: |
57 |
| - |
58 |
| -```sh |
59 |
| -cd docs |
60 |
| -``` |
61 |
| - |
62 |
| -Then run the following command in Julia: |
63 |
| - |
64 |
| -```julia |
65 |
| -using Pkg |
66 |
| -Pkg.activate(".") |
67 |
| -Pkg.instantiate() |
68 |
| -include("make.jl") |
69 |
| -``` |
70 |
| - |
71 |
| -This will generate the documentation, which you can view in the `docs/build/` directory. |
72 |
| - |
73 |
| ---- |
74 |
| - |
75 |
| -## 📂 Project Structure |
76 |
| - |
77 |
| -``` |
78 |
| -Stingray.jl/ |
79 |
| -│── src/ # Main source code |
80 |
| -│── test/ # Unit tests |
81 |
| -│── docs/ # Documentation |
82 |
| -│── Project.toml # Package dependencies |
83 |
| -│── README.md # This file |
84 |
| -│── runtests.jl # Test execution file |
85 |
| -``` |
86 |
| - |
87 |
| ---- |
88 |
| - |
89 |
| -## Contributing |
90 |
| - |
91 |
| -We welcome contributions! If you find an issue or want to add a feature, feel free to: |
92 |
| - |
93 |
| -1. **Fork** the repository. |
94 |
| -2. **Clone** your fork: |
95 |
| - ```sh |
96 |
| - git clone https://github.com/your-username/Stingray.jl.git |
97 |
| - ``` |
98 |
| -3. **Create a feature branch**: |
99 |
| - ```sh |
100 |
| - git checkout -b new-feature |
101 |
| - ``` |
102 |
| -4. **Make changes and commit**: |
103 |
| - ```sh |
104 |
| - git commit -m "Added new feature" |
105 |
| - ``` |
106 |
| -5. **Push to your fork and create a PR**. |
107 |
| - |
108 |
| ---- |
109 |
| - |
110 |
| -## Important Instructions |
111 |
| - |
112 |
| -- Ensure **Julia version >= 1.10**. |
113 |
| -- Use **`Pkg.instantiate()`** before running tests or documentation. |
114 |
| -- **FITS file support** requires `FITSIO.jl`. |
115 |
| -- **Documentation uses a separate package environment** in `docs/`. |
116 |
| -- Use **`Pkg.test("Stingray")`** instead of running individual test scripts. |
117 |
| - |
118 |
| ---- |
119 |
| - |
120 |
| -### 🔗 Related Links |
121 |
| - |
122 |
| -- 🏠 **GitHub Repository**: [Stingray.jl](https://github.com/StingraySoftware/Stingray) |
| 2 | +Julia porting of Stingray |
0 commit comments