@pgsage/loaders 0.1.0
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.
- package/README.md +78 -0
- package/dist/census/api.d.ts +46 -0
- package/dist/census/api.d.ts.map +1 -0
- package/dist/census/api.js +204 -0
- package/dist/census/api.js.map +1 -0
- package/dist/census/index.d.ts +16 -0
- package/dist/census/index.d.ts.map +1 -0
- package/dist/census/index.js +122 -0
- package/dist/census/index.js.map +1 -0
- package/dist/census/loader.d.ts +33 -0
- package/dist/census/loader.d.ts.map +1 -0
- package/dist/census/loader.js +127 -0
- package/dist/census/loader.js.map +1 -0
- package/dist/census/types.d.ts +73 -0
- package/dist/census/types.d.ts.map +1 -0
- package/dist/census/types.js +5 -0
- package/dist/census/types.js.map +1 -0
- package/dist/census/variables.d.ts +27 -0
- package/dist/census/variables.d.ts.map +1 -0
- package/dist/census/variables.js +1827 -0
- package/dist/census/variables.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/census/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for the Census ACS loader.
|
|
3
|
+
*/
|
|
4
|
+
export interface CensusConfig {
|
|
5
|
+
/** Census Bureau API key. Required for all data requests. */
|
|
6
|
+
apiKey: string;
|
|
7
|
+
/** ACS 5-Year vintage (data year). Default: 2024. */
|
|
8
|
+
vintage: number;
|
|
9
|
+
/** Census API base URL. Default: 'https://api.census.gov/data'. */
|
|
10
|
+
baseUrl: string;
|
|
11
|
+
/** pg connection string for the app/admin role. */
|
|
12
|
+
databaseUrl: string;
|
|
13
|
+
/** Voyage AI API key for embedding the schema. */
|
|
14
|
+
voyageApiKey: string;
|
|
15
|
+
/**
|
|
16
|
+
* Smoke-test mode: restrict the load to a single state (Rhode Island,
|
|
17
|
+
* FIPS 44) and a small subset of variables to validate the pipeline
|
|
18
|
+
* quickly without a full Census API run.
|
|
19
|
+
* Default: false.
|
|
20
|
+
*/
|
|
21
|
+
smoke?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Milliseconds to wait between Census API batch requests.
|
|
24
|
+
* Default: 200 ms — polite to the Census API.
|
|
25
|
+
*/
|
|
26
|
+
batchDelayMs?: number;
|
|
27
|
+
/** Maximum fetch retries on 429/5xx. Default: 3. */
|
|
28
|
+
maxRetries?: number;
|
|
29
|
+
/** Fetch timeout in milliseconds. Default: 30_000. */
|
|
30
|
+
requestTimeoutMs?: number;
|
|
31
|
+
}
|
|
32
|
+
export type GeoLevel = "state" | "county";
|
|
33
|
+
export interface GeoRecord {
|
|
34
|
+
geoId: string;
|
|
35
|
+
stateFips: string;
|
|
36
|
+
countyFips: string | null;
|
|
37
|
+
stateName: string;
|
|
38
|
+
countyName: string | null;
|
|
39
|
+
level: GeoLevel;
|
|
40
|
+
}
|
|
41
|
+
export interface VariableDefinition {
|
|
42
|
+
/** ACS estimate variable code, e.g. 'B19013_001E'. */
|
|
43
|
+
code: string;
|
|
44
|
+
/** Human-readable label, cleaned of the 'Estimate!!' prefix. */
|
|
45
|
+
label: string;
|
|
46
|
+
/** The ACS table concept, e.g. 'Median Household Income'. */
|
|
47
|
+
concept: string;
|
|
48
|
+
/** Broad category for retrieval grouping. */
|
|
49
|
+
category: VariableCategory;
|
|
50
|
+
/** ACS group/table this variable belongs to, e.g. 'B19013'. */
|
|
51
|
+
group: string;
|
|
52
|
+
}
|
|
53
|
+
export type VariableCategory = "income" | "poverty" | "housing" | "employment" | "demographics" | "education" | "transportation" | "health_insurance";
|
|
54
|
+
export interface EstimateRecord {
|
|
55
|
+
geoId: string;
|
|
56
|
+
variableCode: string;
|
|
57
|
+
estimate: number | null;
|
|
58
|
+
marginError: number | null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The Census API returns a 2D array of strings. Row 0 is the header
|
|
62
|
+
* (column names). Subsequent rows are data. All values are strings;
|
|
63
|
+
* null/missing data is represented as the string "null" or an empty string.
|
|
64
|
+
*/
|
|
65
|
+
export type CensusApiResponse = string[][];
|
|
66
|
+
export interface LoadSummary {
|
|
67
|
+
geographiesUpserted: number;
|
|
68
|
+
variablesUpserted: number;
|
|
69
|
+
estimatesUpserted: number;
|
|
70
|
+
embeddingTokens: number;
|
|
71
|
+
elapsedMs: number;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/census/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,SAAS,GACT,YAAY,GACZ,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,EAAE,EAAE,CAAC;AAM3C,MAAM,WAAW,WAAW;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/census/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated ACS 5-Year variable list for pgsage v1.
|
|
3
|
+
*
|
|
4
|
+
* Source: 2024 ACS 5-Year Detailed Tables (https://api.census.gov/data/2024/acs/acs5)
|
|
5
|
+
* Vintage: 2024
|
|
6
|
+
*
|
|
7
|
+
* Selection strategy:
|
|
8
|
+
* - Include all variables from compact groups (single-value summaries, income
|
|
9
|
+
* brackets, housing, transportation, education).
|
|
10
|
+
* - Cherry-pick totals and key breakdowns from large crosscut groups (poverty
|
|
11
|
+
* by sex×age, employment by sex×age, health insurance by sex×age, sex×age
|
|
12
|
+
* distribution) to avoid loading hundreds of rarely-queried sub-cells.
|
|
13
|
+
* - All variables are estimate codes (_E suffix). Their paired margin-of-error
|
|
14
|
+
* codes (_M suffix) are fetched automatically by the API client.
|
|
15
|
+
*/
|
|
16
|
+
import type { VariableDefinition } from "./types.js";
|
|
17
|
+
export declare const CENSUS_VARIABLES: VariableDefinition[];
|
|
18
|
+
/**
|
|
19
|
+
* All valid VariableCategory values.
|
|
20
|
+
*/
|
|
21
|
+
export declare const VARIABLE_CATEGORIES: VariableDefinition["category"][];
|
|
22
|
+
/**
|
|
23
|
+
* A small subset of variables used for smoke-test runs (--smoke flag).
|
|
24
|
+
* Covers all 8 categories with 1-2 representative variables each.
|
|
25
|
+
*/
|
|
26
|
+
export declare const SMOKE_TEST_VARIABLES: VariableDefinition[];
|
|
27
|
+
//# sourceMappingURL=variables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../src/census/variables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,EAwxDhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,UAAU,CAAC,EAS/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,EAWpD,CAAC"}
|