concat
A poorly named Python-based concatenative programming language.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Keywords
Repository
A poorly named Python-based concatenative programming language.
Basic Info
Statistics
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 20
- Releases: 1
Topics
Metadata Files
README.md
Concat
An experimental concatenative Python-based programming language.
Examples are in the examples directory. To see the (out of date and incomplete) spec, go to http://jmanuel1.github.io/concat-spec/.
Python 3.12 required.
Development
Code formatting
Python code is formatted using Ruff through a
pre-commit Git hook. To set this up
in your clone of the repository, install the dev dependencies of the project
(by running pip install -e .[dev], for example), and then run:
pre-commit install
Now Ruff and pre-commit should be working! Whenever you commit a Python file, Ruff will be ran on that file. If Ruff makes formatting changes, you might need to try restaging and recommiting.
Testing
If you run the tests on Windows, you might need a
Rust installation for one of the tests. (The tests
depend on pywinpty to use Windows
pseudoterminals.)
If your Python is 32-bit, you may get Rust compile errors that make it look like
the standard library is missing (in particular, E0463: rustc --explain E0463).
As suggested by rustc, you can try adding the right standard library with
rustup target add <target>. I used the target i686-pc-windows-msvc even
though pywinpty claims to require x86_64-pc-windows-msvc to build from
source. Then set the environment variable CARGO_BUILD_TARGET to
i686-pc-windows-msvc and try to install pywinpty again.
Run the tests and get coverage info using coverage run -m nose2 --pretty-assert
concat.tests. (Make sure you've installed the development dependencies first.)
Nota Bene: If you have concat installed globally, make sure to create and
enter a virtualenv before testing, so you don't end up running the installed
version.
CI Linters
To run the linters locally, use:
```pwsh
Powershell
docker run -e RUN_LOCAL=true --env-file ..github\super-linter.env -v .:/tmp/lint ghcr.io/super-linter/super-linter:latest ```
Building and uploading (on Windows)
Change the version number in setup.py. Upload will fail if you try to push
an existing version.
Delete the dist directory, if it exists.
rmdir dist /S
Build source and pure Python-3 distributions.
py -3 setup.py sdist
py -3 setup.py bdist_wheel
Upload.
twine upload dist/* [-r pypitest]
Related work
For a similar idea that is more mature, check out Nustack.
Owner
- Name: Jason Manuel
- Login: jmanuel1
- Kind: user
- Location: United States
- Company: Imagine Learning
- Website: http://jason-manuel.com
- Repositories: 90
- Profile: https://github.com/jmanuel1
Software developer; ASU CS, Barrett, and GCSP graduate. I like web development and programming languages.
GitHub Events
Total
- Issues event: 4
- Watch event: 1
- Issue comment event: 17
- Push event: 94
- Pull request review event: 3
- Pull request review comment event: 8
- Pull request event: 34
- Create event: 15
Last Year
- Issues event: 4
- Watch event: 1
- Issue comment event: 17
- Push event: 94
- Pull request review event: 3
- Pull request review comment event: 8
- Pull request event: 34
- Create event: 15
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jason Manuel | j****o@h****m | 822 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 19
- Total pull requests: 54
- Average time to close issues: over 1 year
- Average time to close pull requests: 7 days
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.05
- Average comments per pull request: 0.87
- Merged pull requests: 52
- Bot issues: 0
- Bot pull requests: 3
Past Year
- Issues: 3
- Pull requests: 39
- Average time to close issues: N/A
- Average time to close pull requests: 4 days
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.95
- Merged pull requests: 37
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- jmanuel1 (19)
Pull Request Authors
- jmanuel1 (51)
- dependabot[bot] (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 76 last-month
- Total dependent packages: 0
- Total dependent repositories: 3
- Total versions: 2
- Total maintainers: 1
pypi.org: concat
An experimental concatenative Python-based programming language
- Homepage: https://github.com/jmanuel1/concat
- Documentation: https://concat.readthedocs.io/
- License: MIT
-
Latest release: 0.1.2.dev1
published about 7 years ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v3 composite
- coverallsapp/github-action master composite
- deepsourcelabs/test-coverage-action master composite
- @types/atom 1.40.11 development
- @types/node 18.11.18 development
- atom-ts-transpiler 1.5.3
- typescript 4.9.4
- @types/atom ^1.40.11 development
- @types/node ^18.11.18 development
- atom-ts-transpiler ^1.5.3
- typescript ^4.9.4
- astunparse >=1.3.0,<2
- parsy >=1.3.0,<2
- typing-extensions >=4