{"id":15968998,"url":"https://github.com/dylanwal/numpy_dynamic_array","last_synced_at":"2025-10-23T15:50:43.675Z","repository":{"id":37567594,"uuid":"445550809","full_name":"dylanwal/numpy_dynamic_array","owner":"dylanwal","description":"Dynamic resizing Numpy ndarray","archived":false,"fork":false,"pushed_at":"2022-06-27T18:53:54.000Z","size":25,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T01:51:10.841Z","etag":null,"topics":["numpy","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dylanwal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-07T14:36:20.000Z","updated_at":"2025-02-05T02:48:57.000Z","dependencies_parsed_at":"2022-09-02T23:41:23.666Z","dependency_job_id":null,"html_url":"https://github.com/dylanwal/numpy_dynamic_array","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanwal%2Fnumpy_dynamic_array","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanwal%2Fnumpy_dynamic_array/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanwal%2Fnumpy_dynamic_array/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanwal%2Fnumpy_dynamic_array/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dylanwal","download_url":"https://codeload.github.com/dylanwal/numpy_dynamic_array/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245702604,"owners_count":20658644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["numpy","python"],"created_at":"2024-10-07T19:20:37.237Z","updated_at":"2025-10-23T15:50:38.641Z","avatar_url":"https://github.com/dylanwal.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Numpy Dynamic Array\n\n---\n---\n![PyPI](https://img.shields.io/pypi/v/numpy_dynamic_array)\n![tests](https://raw.githubusercontent.com/dylanwal/numpy_dynamic_array/master/tests/badges/tests-badge.svg)\n![coverage](https://raw.githubusercontent.com/dylanwal/numpy_dynamic_array/master/tests/badges/coverage-badge.svg)\n![flake8](https://raw.githubusercontent.com/dylanwal/numpy_dynamic_array/master/tests/badges/flake8-badge.svg)\n![downloads](https://static.pepy.tech/badge/numpy_dynamic_array)\n![license](https://img.shields.io/github/license/dylanwal/numpy_dynamic_array)\n\nDynamically resizing Numpy array.\n\nA dynamic array expands as you add more elements. So you don't need to determine the size ahead of time. The version\npresent here is focused on being compatible with the typical Numpy indexing and functions.\n\n---\n\n## Installation\n\nFor python \u003e=3.9\n```\npip install numpy_dynamic_array\n```\n\n\nFor python 3.7-3.9, directly install from the python37 branch with\n```\npip install https://github.com/dylanwal/numpy_dynamic_array/archive/python37.zip\n```\n\n---\n---\n\n## Usage\n\n### Basics\n\n```python\nimport numpy as np\nfrom numpy_da import DynamicArray\n\ndata = DynamicArray(shape=2)\na = np.linspace(0, 9, 10)\ndata.append(a)  # requires resize (done automatically)\n\nprint(data)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n\n```\n\n---\n\n### Indexing\n\nSetting values with indexing\n\n```python\ndata = DynamicArray(shape=2)\ndata.append(np.linspace(0, 9, 10))\ndata[3] = 40\nprint(data)  # [0, 1, 2, 3, 40, 5, 6, 7, 8, 9]\n```\n\nSetting values with indexing (outside current array size)\nSet `index_expansion=True`\n\n```python\ndata = DynamicArray(shape=2, index_expansion=True)\ndata[5] = 1\nprint(data)  # [0, 0, 0, 0, 0, 1]\n```\n\nSetting values with slices (outside current array size)\nSet `index_expansion=True`\n\n```python\ndata = DynamicArray(shape=2, index_expansion=True)\ndata[5:8] = [1, 2, 3]\nprint(data)  # [0, 0, 0, 0, 0, 1, 2, 3]\n```\n\n---\n\n### Operators\n\nEquality:\n\n```python\nnp_array = np.linspace(0, 9, 10)\ndata = DynamicArray()\ndata.append(np_array)\nprint(all(data == np_array))  # True\n```\n\nAddition:\n\n```python\nnp_array = np.linspace(0, 9, 10)\ndata = DynamicArray()\ndata.append(np_array)\nprint(all((data + 7.5) == (np_array + 7.5)))  # True\n```\n\nOther supported oparators:\n* floordiv (//)\n* mod (%)\n* mul (*)\n* neg (-)\n* pow (**)\n* truediv(/)\n* sub (-)\n* len (len())\n\n\n---\n### Numpy Functions\n\n```python\nnp_array = np.linspace(0, 9, 10)\ndata = DynamicArray()\ndata.append(np_array)\nprint(data.max())  # 9\n```\n\n```python\nnp_array = np.linspace(0, 9, 10)\ndata = DynamicArray()\ndata.append(np_array)\nprint(np.abs(data - 5))  # [5. 4. 3. 2. 1. 0. 1. 2. 3. 4.]\n```\n\n\n---\n### Multidimensional arrays\n\nUse the shape to specify initial ndarray with correct dimensions.\n\n```python\ndata = DynamicArray(shape=(2, 2))  # requires resize\na = np.linspace(0, 9, 10).reshape(5, 2)\ndata.append(a)\n```\n\n\n---\n\u003cb\u003e For more examples look at the tests folder. \u003c/b\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylanwal%2Fnumpy_dynamic_array","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdylanwal%2Fnumpy_dynamic_array","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylanwal%2Fnumpy_dynamic_array/lists"}