dancealgorithm 0.1.0__tar.gz → 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. {dancealgorithm-0.1.0/src/dancealgorithm.egg-info → dancealgorithm-0.1.1}/PKG-INFO +10 -22
  2. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/README.md +9 -21
  3. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/pyproject.toml +4 -2
  4. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/__init__.py +12 -9
  5. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/__main__.py +1 -0
  6. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Campus/__init__.py +4 -0
  7. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Flight/__init__.py +4 -0
  8. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Smart/__init__.py +4 -0
  9. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Advertisement/__init__.py +4 -0
  10. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Electric/__init__.py +4 -0
  11. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Emergency/__init__.py +4 -0
  12. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Cloud/__init__.py +4 -0
  13. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Disaster/__init__.py +4 -0
  14. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Hospital/__init__.py +4 -0
  15. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Commerce/__init__.py +4 -0
  16. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Customer/__init__.py +4 -0
  17. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Library/__init__.py +4 -0
  18. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Emergency/__init__.py +4 -0
  19. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Logistics/__init__.py +4 -0
  20. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Skyconnect/__init__.py +4 -0
  21. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Commerce/__init__.py +4 -0
  22. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Movie/__init__.py +4 -0
  23. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Online/__init__.py +4 -0
  24. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/__init__.py +19 -25
  25. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/downloader.py +1 -7
  26. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1/src/dancealgorithm.egg-info}/PKG-INFO +10 -22
  27. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/SOURCES.txt +0 -14
  28. dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Classroom/Solution.java +0 -87
  29. dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Classroom/__init__.py +0 -34
  30. dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Interference/Solution.java +0 -88
  31. dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Interference/__init__.py +0 -34
  32. dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - University/Solution.java +0 -88
  33. dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - University/__init__.py +0 -34
  34. dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC.txt +0 -25
  35. dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Delivery/Solution.java +0 -180
  36. dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Delivery/__init__.py +0 -34
  37. dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Drilling/Solution.java +0 -197
  38. dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Drilling/__init__.py +0 -34
  39. dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Flight/Solution.java +0 -180
  40. dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Flight/__init__.py +0 -34
  41. dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC.txt +0 -31
  42. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/LICENSE +0 -0
  43. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/setup.cfg +0 -0
  44. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Campus/Solution.java +0 -0
  45. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Flight/Solution.java +0 -0
  46. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Smart/Solution.java +0 -0
  47. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA.txt +0 -0
  48. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Advertisement/Solution.java +0 -0
  49. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Electric/Solution.java +0 -0
  50. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Emergency/Solution.java +0 -0
  51. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK.txt +0 -0
  52. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Cloud/Solution.java +0 -0
  53. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Disaster/Solution.java +0 -0
  54. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Hospital/Solution.java +0 -0
  55. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K.txt +0 -0
  56. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Commerce/Solution.java +0 -0
  57. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Commerce/dataset.csv +0 -0
  58. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Customer/Solution.java +0 -0
  59. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Customer/dataset.csv +0 -0
  60. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Library/Solution.java +0 -0
  61. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Library/dataset.csv +0 -0
  62. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS.txt +0 -0
  63. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Emergency/Solution.java +0 -0
  64. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Logistics/Solution.java +0 -0
  65. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Skyconnect/Solution.java +0 -0
  66. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG.txt +0 -0
  67. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Commerce/Solution.java +0 -0
  68. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Commerce/dataset.csv +0 -0
  69. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Movie/Solution.java +0 -0
  70. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Movie/dataset.csv +0 -0
  71. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Online/Solution.java +0 -0
  72. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Online/dataset.csv +0 -0
  73. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS.txt +0 -0
  74. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/cli.py +0 -0
  75. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/config.py +0 -0
  76. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/dependency_links.txt +0 -0
  77. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/entry_points.txt +0 -0
  78. {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dancealgorithm
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: DanceAlgorithm: Instant DAA Algorithms, Lab Problem Sheets, Datasets, and Code Vault.
5
5
  Author: DanceAlgorithm Maintainer
6
6
  License-Expression: MIT
@@ -26,10 +26,11 @@ Dynamic: license-file
26
26
  # ⚡ DanceAlgorithm
27
27
 
28
28
  > **Instant DAA Problem Sheets, Datasets, Solutions & Algorithm Vault**
29
- > Download, extract, organize, and directly **import** all 24 Design & Analysis of Algorithms (DAA) lab practical problem sheets, datasets, and Java solutions cleanly onto your PC with a single command or Python import.
29
+ > Download, extract, organize, and directly **import** all 18 Design & Analysis of Algorithms (DAA) lab practical problem sheets, datasets, and Java solutions cleanly onto your PC or Linux machine with a single command or Python import.
30
30
 
31
31
  [![PyPI Version](https://img.shields.io/pypi/v/dancealgorithm.svg)](https://pypi.org/project/dancealgorithm/)
32
32
  [![Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/)
33
+ [![OS: Windows & Linux](https://img.shields.io/badge/OS-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)]()
33
34
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
34
35
  [![Zero Dependencies](https://img.shields.io/badge/dependencies-0%20runtime-brightgreen.svg)]()
35
36
 
@@ -37,7 +38,7 @@ Dynamic: license-file
37
38
 
38
39
  ## 🌟 The Magic Experience
39
40
 
40
- ### Option A: Install & Extract All 24 Problem Sheets to `C:\DAA_Assignments`
41
+ ### Option A: Install & Extract All 18 Problem Sheets
41
42
 
42
43
  ```powershell
43
44
  pip install dancealgorithm; dance
@@ -49,7 +50,7 @@ Or run `dance` (or `dancealgorithm`) anytime in your terminal:
49
50
  dance
50
51
  ```
51
52
 
52
- Your `C:\DAA_Assignments` folder is cleanly populated with all 24 problem sheets:
53
+ Your `C:\DAA_Assignments` folder (or `~/DAA_Assignments` on Linux) is cleanly populated with all 18 problem sheets:
53
54
 
54
55
  ```text
55
56
  C:\DAA_Assignments\
@@ -61,7 +62,7 @@ C:\DAA_Assignments\
61
62
  │ └── Solution.java
62
63
  ├── MS - Library/
63
64
  ├── ...
64
- └── LC - Flight/
65
+ └── K - Cloud/
65
66
  └── Solution.java
66
67
  ```
67
68
 
@@ -83,9 +84,6 @@ dance QS.txt
83
84
  # Dijkstra shortest path analysis
84
85
  dance DA.txt
85
86
 
86
- # Graph Coloring backtracking analysis
87
- dance GC.txt
88
-
89
87
  # Fractional Knapsack greedy proof
90
88
  dance FK.txt
91
89
 
@@ -94,9 +92,6 @@ dance K.txt
94
92
 
95
93
  # Multistage Graph backward DP
96
94
  dance MSG.txt
97
-
98
- # Least Cost Branch & Bound TSP
99
- dance LC.txt
100
95
  ```
101
96
 
102
97
  *(You can also use `dancealgorithm DA.txt` or `dance DA`)*
@@ -109,13 +104,12 @@ Extract only that particular folder:
109
104
  # Extract unquoted or quoted
110
105
  dance MSG - Logistics
111
106
  dance "DA - Smart"
112
- dance "GC - Classroom"
113
107
  dance "MS - Customer"
114
108
 
115
109
  # Or extract by problem number
116
110
  dance 1
111
+ dance 10
117
112
  dance 13
118
- dance 19
119
113
  ```
120
114
 
121
115
  ### 3. List All Available Problem Sheets & Notes
@@ -128,7 +122,7 @@ dance list
128
122
 
129
123
  ## 🐍 Option B: Direct Python Import
130
124
 
131
- All 24 assignments can be directly inspected or extracted programmatically:
125
+ All 18 assignments can be directly inspected or extracted programmatically:
132
126
 
133
127
  ```python
134
128
  import dancealgorithm
@@ -143,13 +137,13 @@ dancealgorithm.extract("MSG - Logistics")
143
137
  # 3. Extract all sheets to custom destination
144
138
  dancealgorithm.extract(destination="D:/MyLabs")
145
139
 
146
- # 4. Open destination folder in Windows Explorer
140
+ # 4. Open destination folder in system file manager (Windows, Linux, macOS)
147
141
  dancealgorithm.open_folder()
148
142
  ```
149
143
 
150
144
  ---
151
145
 
152
- ## 📚 Complete Catalogue of All 24 DAA Problem Sheets
146
+ ## 📚 Complete Catalogue of All 18 DAA Problem Sheets
153
147
 
154
148
  | No. | Algorithm | Category | Problem Sheet Title | Time Complexity |
155
149
  |---|---|---|---|---|
@@ -171,12 +165,6 @@ dancealgorithm.open_folder()
171
165
  | **16** | 0/1 Knapsack | Dynamic Programming | `K - Disaster` | $O(n \cdot W)$ |
172
166
  | **17** | 0/1 Knapsack | Dynamic Programming | `K - Hospital` | $O(n \cdot W)$ |
173
167
  | **18** | 0/1 Knapsack | Dynamic Programming | `K - Cloud` | $O(n \cdot W)$ |
174
- | **19** | Graph Coloring | Backtracking | `GC - Classroom` | $O(V \cdot m^V)$ |
175
- | **20** | Graph Coloring | Backtracking | `GC - Interference` | $O(V \cdot m^V)$ |
176
- | **21** | Graph Coloring | Backtracking | `GC - University` | $O(V \cdot m^V)$ |
177
- | **22** | LC Branch & Bound | Branch & Bound | `LC - Delivery` | $O(n! \cdot n^2)$ |
178
- | **23** | LC Branch & Bound | Branch & Bound | `LC - Drilling` | $O(n! \cdot n^2)$ |
179
- | **24** | LC Branch & Bound | Branch & Bound | `LC - Flight` | $O(n! \cdot n^2)$ |
180
168
 
181
169
  ---
182
170
 
@@ -1,10 +1,11 @@
1
1
  # ⚡ DanceAlgorithm
2
2
 
3
3
  > **Instant DAA Problem Sheets, Datasets, Solutions & Algorithm Vault**
4
- > Download, extract, organize, and directly **import** all 24 Design & Analysis of Algorithms (DAA) lab practical problem sheets, datasets, and Java solutions cleanly onto your PC with a single command or Python import.
4
+ > Download, extract, organize, and directly **import** all 18 Design & Analysis of Algorithms (DAA) lab practical problem sheets, datasets, and Java solutions cleanly onto your PC or Linux machine with a single command or Python import.
5
5
 
6
6
  [![PyPI Version](https://img.shields.io/pypi/v/dancealgorithm.svg)](https://pypi.org/project/dancealgorithm/)
7
7
  [![Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/)
8
+ [![OS: Windows & Linux](https://img.shields.io/badge/OS-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)]()
8
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
10
  [![Zero Dependencies](https://img.shields.io/badge/dependencies-0%20runtime-brightgreen.svg)]()
10
11
 
@@ -12,7 +13,7 @@
12
13
 
13
14
  ## 🌟 The Magic Experience
14
15
 
15
- ### Option A: Install & Extract All 24 Problem Sheets to `C:\DAA_Assignments`
16
+ ### Option A: Install & Extract All 18 Problem Sheets
16
17
 
17
18
  ```powershell
18
19
  pip install dancealgorithm; dance
@@ -24,7 +25,7 @@ Or run `dance` (or `dancealgorithm`) anytime in your terminal:
24
25
  dance
25
26
  ```
26
27
 
27
- Your `C:\DAA_Assignments` folder is cleanly populated with all 24 problem sheets:
28
+ Your `C:\DAA_Assignments` folder (or `~/DAA_Assignments` on Linux) is cleanly populated with all 18 problem sheets:
28
29
 
29
30
  ```text
30
31
  C:\DAA_Assignments\
@@ -36,7 +37,7 @@ C:\DAA_Assignments\
36
37
  │ └── Solution.java
37
38
  ├── MS - Library/
38
39
  ├── ...
39
- └── LC - Flight/
40
+ └── K - Cloud/
40
41
  └── Solution.java
41
42
  ```
42
43
 
@@ -58,9 +59,6 @@ dance QS.txt
58
59
  # Dijkstra shortest path analysis
59
60
  dance DA.txt
60
61
 
61
- # Graph Coloring backtracking analysis
62
- dance GC.txt
63
-
64
62
  # Fractional Knapsack greedy proof
65
63
  dance FK.txt
66
64
 
@@ -69,9 +67,6 @@ dance K.txt
69
67
 
70
68
  # Multistage Graph backward DP
71
69
  dance MSG.txt
72
-
73
- # Least Cost Branch & Bound TSP
74
- dance LC.txt
75
70
  ```
76
71
 
77
72
  *(You can also use `dancealgorithm DA.txt` or `dance DA`)*
@@ -84,13 +79,12 @@ Extract only that particular folder:
84
79
  # Extract unquoted or quoted
85
80
  dance MSG - Logistics
86
81
  dance "DA - Smart"
87
- dance "GC - Classroom"
88
82
  dance "MS - Customer"
89
83
 
90
84
  # Or extract by problem number
91
85
  dance 1
86
+ dance 10
92
87
  dance 13
93
- dance 19
94
88
  ```
95
89
 
96
90
  ### 3. List All Available Problem Sheets & Notes
@@ -103,7 +97,7 @@ dance list
103
97
 
104
98
  ## 🐍 Option B: Direct Python Import
105
99
 
106
- All 24 assignments can be directly inspected or extracted programmatically:
100
+ All 18 assignments can be directly inspected or extracted programmatically:
107
101
 
108
102
  ```python
109
103
  import dancealgorithm
@@ -118,13 +112,13 @@ dancealgorithm.extract("MSG - Logistics")
118
112
  # 3. Extract all sheets to custom destination
119
113
  dancealgorithm.extract(destination="D:/MyLabs")
120
114
 
121
- # 4. Open destination folder in Windows Explorer
115
+ # 4. Open destination folder in system file manager (Windows, Linux, macOS)
122
116
  dancealgorithm.open_folder()
123
117
  ```
124
118
 
125
119
  ---
126
120
 
127
- ## 📚 Complete Catalogue of All 24 DAA Problem Sheets
121
+ ## 📚 Complete Catalogue of All 18 DAA Problem Sheets
128
122
 
129
123
  | No. | Algorithm | Category | Problem Sheet Title | Time Complexity |
130
124
  |---|---|---|---|---|
@@ -146,12 +140,6 @@ dancealgorithm.open_folder()
146
140
  | **16** | 0/1 Knapsack | Dynamic Programming | `K - Disaster` | $O(n \cdot W)$ |
147
141
  | **17** | 0/1 Knapsack | Dynamic Programming | `K - Hospital` | $O(n \cdot W)$ |
148
142
  | **18** | 0/1 Knapsack | Dynamic Programming | `K - Cloud` | $O(n \cdot W)$ |
149
- | **19** | Graph Coloring | Backtracking | `GC - Classroom` | $O(V \cdot m^V)$ |
150
- | **20** | Graph Coloring | Backtracking | `GC - Interference` | $O(V \cdot m^V)$ |
151
- | **21** | Graph Coloring | Backtracking | `GC - University` | $O(V \cdot m^V)$ |
152
- | **22** | LC Branch & Bound | Branch & Bound | `LC - Delivery` | $O(n! \cdot n^2)$ |
153
- | **23** | LC Branch & Bound | Branch & Bound | `LC - Drilling` | $O(n! \cdot n^2)$ |
154
- | **24** | LC Branch & Bound | Branch & Bound | `LC - Flight` | $O(n! \cdot n^2)$ |
155
143
 
156
144
  ---
157
145
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dancealgorithm"
7
- version = "0.1.0"
7
+ version = "0.1.1"
8
8
  description = "DanceAlgorithm: Instant DAA Algorithms, Lab Problem Sheets, Datasets, and Code Vault."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -59,6 +59,8 @@ dancealgorithm = [
59
59
  "**/*.pyo",
60
60
  "**/*.class"
61
61
  ]
62
-
62
+
63
+
64
+
63
65
 
64
66
 
@@ -1,6 +1,6 @@
1
1
  """
2
2
  DanceAlgorithm - Instant DAA Algorithms, Lab Problem Sheets, Datasets & Code Vault.
3
- All 24 Practical Exam Problem Sheets & Algorithm Notes Bundled & Instantly Importable.
3
+ All 18 Practical Exam Problem Sheets & Algorithm Notes Bundled & Instantly Importable.
4
4
  """
5
5
  from __future__ import annotations
6
6
 
@@ -9,7 +9,7 @@ import sys
9
9
  from pathlib import Path
10
10
  from typing import Any, Dict, List, Optional, Union
11
11
 
12
- __version__ = "0.1.0"
12
+ __version__ = "0.1.1"
13
13
 
14
14
  # Import bundled assignments registry and sheets
15
15
  from dancealgorithm.assignments import ASSIGNMENTS_DIR, REGISTRY, SHEETS
@@ -34,8 +34,8 @@ for sheet in SHEETS:
34
34
 
35
35
  def get(identifier: Union[int, str]) -> Any:
36
36
  """
37
- Get a specific problem sheet module by number (1..24), ID (e.g. 'ps1', 'PS01'),
38
- or keyword/name (e.g. 'Customer', 'MS - Customer', 'GC - Classroom').
37
+ Get a specific problem sheet module by number (1..18), ID (e.g. 'ps1', 'PS01'),
38
+ or keyword/name (e.g. 'Customer', 'MS - Customer', 'MSG - Logistics').
39
39
  """
40
40
  if identifier in REGISTRY:
41
41
  return REGISTRY[identifier]
@@ -57,7 +57,7 @@ def get(identifier: Union[int, str]) -> Any:
57
57
  if norm in clean_title or clean_title in norm:
58
58
  return sheet
59
59
 
60
- raise KeyError(f"Problem sheet not found for '{identifier}'. Available: 1..24.")
60
+ raise KeyError(f"Problem sheet not found for '{identifier}'. Available: 1..18.")
61
61
 
62
62
 
63
63
  # Convenience alias: dancealgorithm.ps(1)
@@ -86,7 +86,7 @@ def extract(
86
86
  ) -> List[Path]:
87
87
  """
88
88
  Extract all problem sheets or a specific one to the destination directory.
89
- Default destination is C:\\DAA_Assignments (or ~/DAA_Assignments).
89
+ Default destination is C:\\DAA_Assignments on Windows (or ~/DAA_Assignments on Linux).
90
90
  """
91
91
  from dancealgorithm.config import get_destination
92
92
  from dancealgorithm.downloader import extract_bundled
@@ -98,13 +98,18 @@ def extract(
98
98
 
99
99
  def open_folder(destination: Optional[Union[str, Path]] = None) -> None:
100
100
  """
101
- Open the assignments destination folder in Windows File Explorer.
101
+ Open the assignments destination folder in the default system file manager.
102
+ Works seamlessly on Windows (explorer), macOS (open), and Linux (xdg-open).
102
103
  """
103
104
  from dancealgorithm.config import get_destination
104
105
  target = Path(destination) if destination else get_destination()
105
106
  target.mkdir(parents=True, exist_ok=True)
106
107
  if sys.platform == "win32":
107
108
  os.system(f'explorer "{target}"')
109
+ elif sys.platform == "darwin":
110
+ os.system(f'open "{target}"')
111
+ else:
112
+ os.system(f'xdg-open "{target}" 2>/dev/null &')
108
113
 
109
114
 
110
115
  def __getattr__(name: str) -> Any:
@@ -124,5 +129,3 @@ __all__ = [
124
129
  "open_folder",
125
130
  ]
126
131
 
127
-
128
-
@@ -6,3 +6,4 @@ from dancealgorithm.cli import main
6
6
 
7
7
  if __name__ == "__main__":
8
8
  sys.exit(main())
9
+
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -25,6 +25,10 @@ def open_folder() -> None:
25
25
  import os
26
26
  if sys.platform == "win32":
27
27
  os.system(f'explorer "{PATH}"')
28
+ elif sys.platform == "darwin":
29
+ os.system(f'open "{PATH}"')
30
+ else:
31
+ os.system(f'xdg-open "{PATH}" 2>/dev/null &')
28
32
 
29
33
  def __getattr__(name: str):
30
34
  if name in ("code", "java_code", "solution_code"):
@@ -1,6 +1,6 @@
1
1
  """
2
2
  DanceAlgorithm Bundled Problem Sheets & Assignments Vault.
3
- Contains all 24 DAA algorithms and problem sheets.
3
+ Contains all 18 DAA algorithms and problem sheets from DAA_UPDATED_PIP.
4
4
  """
5
5
  from __future__ import annotations
6
6
 
@@ -15,30 +15,24 @@ SHEETS: List[Any] = []
15
15
  DAA_ASSIGNMENTS: Dict[str, Any] = {}
16
16
 
17
17
  ORDERED_NAMES = [
18
- "MS - Customer",
19
- "MS - Commerce",
20
- "MS - Library",
21
- "QS - Movie",
22
- "QS - Commerce",
23
- "QS - Online",
24
- "FK - Emergency",
25
- "FK - Electric",
26
- "FK - Advertisement",
27
- "DA - Smart",
28
- "DA - Campus",
29
- "DA - Flight",
30
- "MSG - Logistics",
31
- "MSG - Skyconnect",
32
- "MSG - Emergency",
33
- "K - Disaster",
34
- "K - Hospital",
35
- "K - Cloud",
36
- "GC - Classroom",
37
- "GC - Interference",
38
- "GC - University",
39
- "LC - Delivery",
40
- "LC - Drilling",
41
- "LC - Flight",
18
+ "MS - Customer", # 1
19
+ "MS - Commerce", # 2
20
+ "MS - Library", # 3
21
+ "QS - Movie", # 4
22
+ "QS - Commerce", # 5
23
+ "QS - Online", # 6
24
+ "FK - Emergency", # 7
25
+ "FK - Electric", # 8
26
+ "FK - Advertisement", # 9
27
+ "DA - Smart", # 10
28
+ "DA - Campus", # 11
29
+ "DA - Flight", # 12
30
+ "MSG - Logistics", # 13
31
+ "MSG - Skyconnect", # 14
32
+ "MSG - Emergency", # 15
33
+ "K - Disaster", # 16
34
+ "K - Hospital", # 17
35
+ "K - Cloud", # 18
42
36
  ]
43
37
 
44
38
  for idx, name in enumerate(ORDERED_NAMES, 1):
@@ -15,7 +15,7 @@ import zipfile
15
15
  from pathlib import Path
16
16
  from typing import Dict, List, Optional, Tuple
17
17
 
18
- USER_AGENT = "DanceAlgorithm-CLI/0.1.0"
18
+ USER_AGENT = "DanceAlgorithm-CLI/0.1.1"
19
19
  MAX_ARCHIVE_SIZE_BYTES = 300 * 1024 * 1024 # 300 MB limit
20
20
  MAX_FILE_COUNT = 10000 # 10,000 files limit
21
21
 
@@ -40,12 +40,6 @@ ORDERED_ASSIGNMENTS = [
40
40
  "K - Disaster", # 16
41
41
  "K - Hospital", # 17
42
42
  "K - Cloud", # 18
43
- "GC - Classroom", # 19
44
- "GC - Interference", # 20
45
- "GC - University", # 21
46
- "LC - Delivery", # 22
47
- "LC - Drilling", # 23
48
- "LC - Flight", # 24
49
43
  ]
50
44
 
51
45