opendart-fss 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1,183 @@
1
+ """DS006 증권신고서 주요정보 API."""
2
+
3
+ from opendart_fss.api.base import BaseAPI
4
+ from opendart_fss.models.registration import (
5
+ DebtSecurities,
6
+ DebtSecuritiesListResponse,
7
+ DepositaryReceipt,
8
+ DepositaryReceiptListResponse,
9
+ EquitySecurities,
10
+ EquitySecuritiesListResponse,
11
+ MergerRegistration,
12
+ MergerRegistrationListResponse,
13
+ SplitRegistration,
14
+ SplitRegistrationListResponse,
15
+ StockExchangeTransfer,
16
+ StockExchangeTransferListResponse,
17
+ )
18
+
19
+
20
+ class RegistrationAPI(BaseAPI):
21
+ """증권신고서 주요정보 API (DS006)."""
22
+
23
+ async def get_equity_securities(
24
+ self,
25
+ corp_code: str,
26
+ bgn_de: str | None = None,
27
+ end_de: str | None = None,
28
+ ) -> list[EquitySecurities]:
29
+ """지분증권 발행 조회.
30
+
31
+ Args:
32
+ corp_code: 고유번호 (8자리)
33
+ bgn_de: 시작일 (YYYYMMDD)
34
+ end_de: 종료일 (YYYYMMDD)
35
+
36
+ Returns:
37
+ 지분증권 발행 목록
38
+ """
39
+ response = await self._get(
40
+ "/api/estkRs.json",
41
+ EquitySecuritiesListResponse,
42
+ params={
43
+ "corp_code": corp_code,
44
+ "bgn_de": bgn_de,
45
+ "end_de": end_de,
46
+ },
47
+ )
48
+ return response.items
49
+
50
+ async def get_debt_securities(
51
+ self,
52
+ corp_code: str,
53
+ bgn_de: str | None = None,
54
+ end_de: str | None = None,
55
+ ) -> list[DebtSecurities]:
56
+ """채무증권 발행 조회.
57
+
58
+ Args:
59
+ corp_code: 고유번호 (8자리)
60
+ bgn_de: 시작일 (YYYYMMDD)
61
+ end_de: 종료일 (YYYYMMDD)
62
+
63
+ Returns:
64
+ 채무증권 발행 목록
65
+ """
66
+ response = await self._get(
67
+ "/api/bdRs.json",
68
+ DebtSecuritiesListResponse,
69
+ params={
70
+ "corp_code": corp_code,
71
+ "bgn_de": bgn_de,
72
+ "end_de": end_de,
73
+ },
74
+ )
75
+ return response.items
76
+
77
+ async def get_merger_registration(
78
+ self,
79
+ corp_code: str,
80
+ bgn_de: str | None = None,
81
+ end_de: str | None = None,
82
+ ) -> list[MergerRegistration]:
83
+ """합병 신고 조회.
84
+
85
+ Args:
86
+ corp_code: 고유번호 (8자리)
87
+ bgn_de: 시작일 (YYYYMMDD)
88
+ end_de: 종료일 (YYYYMMDD)
89
+
90
+ Returns:
91
+ 합병 신고 목록
92
+ """
93
+ response = await self._get(
94
+ "/api/mgRs.json",
95
+ MergerRegistrationListResponse,
96
+ params={
97
+ "corp_code": corp_code,
98
+ "bgn_de": bgn_de,
99
+ "end_de": end_de,
100
+ },
101
+ )
102
+ return response.items
103
+
104
+ async def get_split_registration(
105
+ self,
106
+ corp_code: str,
107
+ bgn_de: str | None = None,
108
+ end_de: str | None = None,
109
+ ) -> list[SplitRegistration]:
110
+ """분할 신고 조회.
111
+
112
+ Args:
113
+ corp_code: 고유번호 (8자리)
114
+ bgn_de: 시작일 (YYYYMMDD)
115
+ end_de: 종료일 (YYYYMMDD)
116
+
117
+ Returns:
118
+ 분할 신고 목록
119
+ """
120
+ response = await self._get(
121
+ "/api/dvRs.json",
122
+ SplitRegistrationListResponse,
123
+ params={
124
+ "corp_code": corp_code,
125
+ "bgn_de": bgn_de,
126
+ "end_de": end_de,
127
+ },
128
+ )
129
+ return response.items
130
+
131
+ async def get_depositary_receipt(
132
+ self,
133
+ corp_code: str,
134
+ bgn_de: str | None = None,
135
+ end_de: str | None = None,
136
+ ) -> list[DepositaryReceipt]:
137
+ """증권예탁증권 조회.
138
+
139
+ Args:
140
+ corp_code: 고유번호 (8자리)
141
+ bgn_de: 시작일 (YYYYMMDD)
142
+ end_de: 종료일 (YYYYMMDD)
143
+
144
+ Returns:
145
+ 증권예탁증권 목록
146
+ """
147
+ response = await self._get(
148
+ "/api/stkdpRs.json",
149
+ DepositaryReceiptListResponse,
150
+ params={
151
+ "corp_code": corp_code,
152
+ "bgn_de": bgn_de,
153
+ "end_de": end_de,
154
+ },
155
+ )
156
+ return response.items
157
+
158
+ async def get_stock_exchange_transfer(
159
+ self,
160
+ corp_code: str,
161
+ bgn_de: str | None = None,
162
+ end_de: str | None = None,
163
+ ) -> list[StockExchangeTransfer]:
164
+ """주식의 포괄적 교환·이전 조회.
165
+
166
+ Args:
167
+ corp_code: 고유번호 (8자리)
168
+ bgn_de: 시작일 (YYYYMMDD)
169
+ end_de: 종료일 (YYYYMMDD)
170
+
171
+ Returns:
172
+ 주식의 포괄적 교환·이전 목록
173
+ """
174
+ response = await self._get(
175
+ "/api/extrRs.json",
176
+ StockExchangeTransferListResponse,
177
+ params={
178
+ "corp_code": corp_code,
179
+ "bgn_de": bgn_de,
180
+ "end_de": end_de,
181
+ },
182
+ )
183
+ return response.items