Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
fdc96c5
refactor: modernize filesystem & improve organization
codejedi365 Feb 14, 2026
6eb9650
refactor: separate `FlatDict` and `FlatterDict` to separate files
codejedi365 Feb 14, 2026
bfd7927
feat(typing): add typing flag to package
codejedi365 Feb 14, 2026
3e7c36f
chore(dependabot): added dependabot config for automated bump PRs
codejedi365 Feb 14, 2026
274624f
chore(config): add PSR release templates for changelog & version rele…
codejedi365 Feb 14, 2026
74c9796
perf(FlatDict): optimize `FlatDict` implementation
codejedi365 Feb 14, 2026
cbc4c55
refactor(FlatDict)!: change default delimiter to a period
codejedi365 Feb 14, 2026
537d0ca
refactor(FlatDict): deprecate the `FlatDict.as_dict()` method for `Fl…
codejedi365 Feb 14, 2026
140875a
feat(FlatDict): add constructor flexibility for passing a NamedTuple
codejedi365 Feb 14, 2026
3abc96f
test(deps): add `pytest-dependency@v0.6.1` to test infrastructure for…
codejedi365 Feb 16, 2026
16dbc32
test(FlatDict): refactor unit tests for `FlatDict`
codejedi365 Feb 14, 2026
b3041fb
perf(FlatterDict): optimize `FlatterDict` implementation
codejedi365 Feb 14, 2026
ba79def
refactor(FlatterDict)!: change default delimiter to a period
codejedi365 Feb 14, 2026
e6b6cf4
test(FlatterDict): add unit testing to the FlatterDict class
codejedi365 Feb 16, 2026
81e8097
docs: refactor & enhance documentation
codejedi365 Feb 14, 2026
df4751f
chore(github): add issue templates
codejedi365 Feb 14, 2026
1b0b132
chore(github): add PR template
codejedi365 Feb 14, 2026
00c6d41
test: add backward-compatibility canary test
codejedi365 Feb 14, 2026
67c4239
chore: add BSD-3-Clause copyright notice to module base file
codejedi365 Feb 17, 2026
5bcd5a6
refactor: add `__dist_name__` to module
codejedi365 Feb 16, 2026
07865a0
chore(copilot): add github-copilot instructions document for repo
codejedi365 Feb 16, 2026
50ab676
ci(workflows): add a manual docs publish action for when only docs ne…
codejedi365 Feb 16, 2026
d5765e4
ci(validate): increase test coverage to 95%
codejedi365 Feb 16, 2026
a035ddf
ci(validate): add env variable to widen PSR output in CI environment
codejedi365 Feb 17, 2026
ed81f88
chore(scripts): adjust python version verification for CI execution
codejedi365 Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# https://help.github.com/articles/dealing-with-line-endings/
* text=auto eol=lf
87 changes: 87 additions & 0 deletions .github/ISSUE_TEMPLATE/01-feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Feature Request
description: Suggest an enhancement for this product
title: "[feat] "
labels:
- enhancement
- triage
assignees:
- codejedi365
type: feature
body:
- type: markdown
attributes:
value: |
This is the cj365-flatdict package repository.

* Before you create a new feature request, please check the [FAQ](https://codejedi365.github.io/flatdict/misc/faq.html)
to see if your question is already answered.

* Check to make sure someone else hasn't already opened a similar [feature request](https://github.com/codejedi365/flatdict/issues)

- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: |
By submitting this issue, you agree to follow the [Code of Conduct](https://codejedi365.github.io/flatdict/misc/code_of_conduct.html)
and understand the expectations for behavior in this community.
options:
- label: I have read and agree to the [Code of Conduct](https://codejedi365.github.io/flatdict/misc/code_of_conduct.html)
validations:
required: true

- id: description
type: textarea
attributes:
label: High-level Description
description: |
1. Please provide a high-level description of what you would like to see in one sentence (a TL;DR).
2. Then, follow up with a more detailed explanation of the feature/workflow you are proposing.
3. Please do not focus on the specifics of the code, or define the solution here,
but describe why this feature is important or how it would improve the product. You will
be able to provide your recommended solution at the end of the form.
validations:
required: true
# minLength: 50
# maxLength: 1000

- id: use-cases
type: textarea
attributes:
label: Use Cases
description: |
- Please provide specific use cases or scenarios where this feature would be beneficial.
- This could include examples of workflows, user stories, or any other context that
helps illustrate the need for this feature.
validations:
required: true
# minLength: 10

- id: implementation-possible
type: textarea
attributes:
label: Possible Implementation
description: |
- If you have ideas on how this feature could be implemented, please share them here.
- This could include technical details, design considerations, or any other relevant
information that could help guide the development of this feature.
validations:
required: true
# minLength: 10

- id: implementation-alternatives
type: textarea
attributes:
label: Alternative Solutions
description: |
- Please describe any alternative solutions or workarounds you have considered.
- This could include existing features, third-party tools, or any other methods
that could achieve similar outcomes.
validations:
required: false

- type: markdown
attributes:
value: |
Thank you for taking the time to improve the **cj365-flatdict**! We will work to respond within
the next few business days.
124 changes: 124 additions & 0 deletions .github/ISSUE_TEMPLATE/02-bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: Bug Report
description: Something isn't working as expected
title: "[bug] "
labels:
- bug
- triage
assignees:
- codejedi365
type: bug
body:
- type: markdown
attributes:
value: |
This is the cj365-flatdict package repository.

* Before you create a new issue, please check the [FAQ](https://codejedi365.github.io/flatdict/misc/faq.html),
the [Q&A Discussions](https://github.com/codejedi365/flatdict/discussions/categories/q-a),
and existing issues to see if your topic is already addressed.

* Check to make sure someone else hasn't already opened a similar [issue](https://github.com/codejedi365/flatdict/issues)

- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: |
By submitting this issue, you agree to follow the [Code of Conduct](https://codejedi365.github.io/flatdict/misc/code_of_conduct.html)
and understand the expectations for behavior in this community.
options:
- label: I have read and agree to the [Code of Conduct](https://codejedi365.github.io/flatdict/misc/code_of_conduct.html)
validations:
required: true

- id: description
type: textarea
attributes:
label: High-level Description
description: |
1. Please provide a high-level description of the issue/problem you are experiencing.
2. This should be a short summary of the problem, not a detailed explanation, the
following fields will elaborate on the issue.
3. Please do not focus on the specifics of the code, or define the solution here,
but describe why the output of the program is incorrect or unexpected. You will
be able to provide your recommended solution at the end of the form.
validations:
required: true
# minLength: 50
# maxLength: 1000

- id: expected-behavior
type: textarea
attributes:
label: Expected Behavior
description: |
Please provide a short description of what you expected to happen.
validations:
required: true
# minLength: 10

- id: actual-behavior
type: textarea
attributes:
label: Actual Behavior
description: |
- Please provide a short description of what actually happened.
- DO NOT include the full stack trace here, that will be
included at the end of the form.
validations:
required: true
# minLength: 10

- type: markdown
attributes:
value: "### Environment"

- id: environment-os
type: input
attributes:
label: Operating System
description: |
Please provide the python version, operating system and version you are using.
placeholder: ex. Python 3.11 on Windows 11, Python 3.10 on Debian Bookworm, etc.
validations:
required: true

- id: logs
type: textarea
attributes:
label: Execution Log
description: |
1. Please update the action you were performing <b> element in our template below
2. Please insert your workflow input and resulting output between the code fence (```) so we can maintain
a clean format when its rendered to html.
value: |
<details>
<summary>
<b> {Action} </b>
</summary>

```log
<-- INSERT LOG HERE
```

</details>
validations:
required: true

- id: additional-info
type: textarea
attributes:
label: Additional Information, Context, or Recommendations
description: |
- Please provide any additional information that may be relevant to the issue. This
could include links to documentation, related issues, or anything else
that may help us understand the problem better.
- If you have a recommended solution, please include it here as well.
validations:
required: false

- type: markdown
attributes:
value: |
Thank you for taking the time to improve the **cj365-flatdict**! We will work to respond within
the next few business days.
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/03-documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Documentation
description: Make a suggestion or report a discrepancy within the documentation
title: "[docs] "
labels:
- documentation
- triage
assignees:
- codejedi365
type: task
body:
- type: markdown
attributes:
value: |
This is the cj365-flatdict package repository.

* Before you create a new issue, please check the [FAQ](https://codejedi365.github.io/flatdict/misc/faq.html)
to see if your question is already answered.

* Check to make sure someone else hasn't already opened a similar [issue](https://github.com/codejedi365/flatdict/issues)

- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: |
By submitting this issue, you agree to follow the [Code of Conduct](https://codejedi365.github.io/flatdict/misc/code_of_conduct.html)
and understand the expectations for behavior in this community.
options:
- label: I have read and agree to the [Code of Conduct](https://codejedi365.github.io/flatdict/misc/code_of_conduct.html)
validations:
required: true

- id: doc-location-info
type: textarea
attributes:
label: Which article is affected or What content is missing?
description: |
Please link to the article you'd like to see updated or a comment about
where the missing content should be located.
validations:
required: true

- id: doc-update
type: textarea
attributes:
label: What part(s) of the article would you like to see updated?
description: |
- Give as much detail as you can to help us understand the change you want to see.
- Why should the docs be changed? What use cases does it support?
- What is the expected outcome or behavior?
validations:
required: true

- type: markdown
attributes:
value: |
Thank you for taking the time to improve the **cj365-flatdict**! We will work to respond within
the next few business days.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
blank_issues_enabled: false

contact_links:
- name: Community Support Discussions
url: https://github.com/codejedi365/flatdict/discussions/categories/q-a
about: Please ask and answer questions here.

- name: Security Vulnerabilities & Concerns
url: https://codejedi365.github.io/flatdict/misc/security_policy.html
about: Please report security vulnerabilities.
49 changes: 49 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<!--
Please do not combine multiple features or fix actions that are not
directly dependent on one another. Please open multiple PRs instead because
one may be merged while the other is denied or has requested changes. This
will slow down the process of merging the accepted changes as reviews are
also more difficult to evaluate for edge cases.
-->

## Purpose
<!-- Reason for the PR (solves an issue/problem, adds a feature, etc) -->



## Rationale
<!-- How did you come to this conclusion as the solution? What was your reasoning? What were you trying to do? What problems did you find and avoid? -->



## How did you test?
<!--
Please explain the methodology for how you verified this solution. It helps to
describe the primary case and the possible edge cases that you considered and
ultimately how you tested them. If you didn't rule out any edge cases, please
mention the rationale here.
-->



## How to Verify
<!-- Please provide a list of steps to validate your solution -->



---

## PR Completion Checklist

- [ ] Reviewed & followed the [Contributor Guidelines](https://codejedi365.github.io/flatdict/contributing/contributing_guide.html)

- [ ] Changes Implemented & Validation pipeline succeeds

- [ ] Commits follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
and are separated into the proper commit type and scope (recommended order: test, build, feat/fix, docs)

- [ ] Appropriate Unit tests added/updated

- [ ] Appropriate End-to-End tests added/updated

- [ ] Appropriate Documentation added/updated and syntax validated for sphinx build (see Contributor Guidelines)
17 changes: 17 additions & 0 deletions .github/changed-files-spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---

build:
- MANIFEST.in
- scripts/build.sh
- scripts/utils.sh
- scripts/envsubst_version.py
docs:
- docs/**
- README.rst
- CONTRIBUTING.rst
src:
- src/cj365/**
- pyproject.toml
tests:
- tests/fixtures/**
- tests/*.py
Loading
Loading