{
"info": {
"author": "sean lee",
"author_email": "xmlee97@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9"
],
"description": "EN | [\u7b80\u4f53\u4e2d\u6587](README_zh.md) \n\n# AnglE\ud83d\udcd0\n\n> It is Angle \ud83d\udcd0, not Angel \ud83d\udc7c.\n\n**For more detailed usage, please read the \ud83d\udcd8 document:** https://angle.readthedocs.io/en/latest/index.html\n\n\n
\n\n\n
\n\n\n
\n\n\n
\n\n\n\n[](https://paperswithcode.com/sota/semantic-textual-similarity-on-sick-r-1?p=angle-optimized-text-embeddings)\n[](https://paperswithcode.com/sota/semantic-textual-similarity-on-sts16?p=angle-optimized-text-embeddings)\n[](https://paperswithcode.com/sota/semantic-textual-similarity-on-sts15?p=angle-optimized-text-embeddings)\n[](https://paperswithcode.com/sota/semantic-textual-similarity-on-sts14?p=angle-optimized-text-embeddings)\n[](https://paperswithcode.com/sota/semantic-textual-similarity-on-sts13?p=angle-optimized-text-embeddings)\n[](https://paperswithcode.com/sota/semantic-textual-similarity-on-sts12?p=angle-optimized-text-embeddings)\n[](https://paperswithcode.com/sota/semantic-textual-similarity-on-sts-benchmark?p=angle-optimized-text-embeddings)\n\n\ud83d\udce2 **Train/Infer Powerful Sentence Embeddings with AnglE.**\nThis library is from the paper: [AnglE: Angle-optimized Text Embeddings](https://arxiv.org/abs/2309.12871). It allows for training state-of-the-art BERT/LLM-based sentence embeddings with just a few lines of code. AnglE is also a general sentence embedding inference framework, allowing for infering a variety of transformer-based sentence embeddings.\n\n## \u2728 Features\n\n**Loss**:\n- \ud83d\udcd0 AnglE loss\n- \u2696 Contrastive loss\n- \ud83d\udccf CoSENT loss\n- \u2615\ufe0f Espresso loss (previously known as 2DMSE, detail: [README_ESE](README_ESE.md))\n\n**Backbones**:\n- BERT-based models (BERT, RoBERTa, ELECTRA, ALBERT, etc.)\n- LLM-based models (LLaMA, Mistral, Qwen, etc.)\n- Bi-directional LLM-based models (LLaMA, Mistral, Qwen, OpenELMo, etc.. refer to: https://github.com/WhereIsAI/BiLLM)\n\n**Training**:\n- Single-GPU training\n- Multi-GPU training\n\n\n>
\n More features will be added in the future. \n\n## \ud83c\udfc6 Achievements\n\n\ud83d\udcc5 May 16, 2024 | Paper \"[AnglE: Angle-optimized Text Embeddings](https://arxiv.org/abs/2309.12871)\" is accepted by ACL 2024 Main Conference.\n\n\ud83d\udcc5 Mar 13, 2024 | Paper \"[BeLLM: Backward Dependency Enhanced Large Language Model for Sentence Embeddings](https://arxiv.org/abs/2311.05296)\" is accepted by NAACL 2024 Main Conference.\n\n\n\ud83d\udcc5 Mar 8, 2024 | \ud83c\udf5e [mixedbread's embedding](https://www.mixedbread.ai/blog/mxbai-embed-large-v1) ([mixedbread-ai/mxbai-embed-large-v1](https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1)) achieves SOTA on the [MTEB Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) with an average score of **64.68**! The model is trained using AnglE. Congrats mixedbread!\n\n\n\ud83d\udcc5 Dec 4, 2023 | Our universal sentence embedding [WhereIsAI/UAE-Large-V1](https://huggingface.co/WhereIsAI/UAE-Large-V1) achieves SOTA on the [MTEB Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) with an average score of **64.64**! The model is trained using AnglE.\n\n\n\ud83d\udcc5 Dec, 2023 | AnglE achieves SOTA performance on the STS Bechmark Semantic Textual Similarity! \n\n\n## \ud83e\udd17 Official Pretrained Models\n\nBERT-based models:\n\n| \ud83e\udd17 HF | Max Tokens | Pooling Strategy | Scenario |\n|----|------|------|------|\n| [WhereIsAI/UAE-Large-V1](https://huggingface.co/WhereIsAI/UAE-Large-V1) | 512 | cls | English, General-purpose |\n| [WhereIsAI/UAE-Code-Large-V1](https://huggingface.co/WhereIsAI/UAE-Code-Large-V1) | 512 | cls | Code Similarity |\n\nLLM-based models:\n\n| \ud83e\udd17 HF (lora weight) | Backbone | Max Tokens | Prompts | Pooling Strategy | Scenario |\n|----|------|------|------|------|------|\n| [SeanLee97/angle-llama-13b-nli](https://huggingface.co/SeanLee97/angle-llama-13b-nli) | NousResearch/Llama-2-13b-hf | 4096 | `Prompts.A` | last token | English, Similarity Measurement | \n| [SeanLee97/angle-llama-7b-nli-v2](https://huggingface.co/SeanLee97/angle-llama-7b-nli-v2) | NousResearch/Llama-2-7b-hf | 4096 | `Prompts.A` | last token | English, Similarity Measurement | \n\n\n**\ud83d\udca1 You can find more third-party embeddings trained with AnglE in [HuggingFace Collection](https://huggingface.co/collections/SeanLee97/angle-based-embeddings-669a181354729d168a6ead9b)**\n\n\n## \ud83d\ude80 Quick Start\n\n### \u2b07\ufe0f Installation\n\n```bash\npython -m pip install -U angle-emb\n```\n\n### \u231b Infer BERT-based Model\n[](https://colab.research.google.com/drive/1QJcA2Mvive4pBxWweTpZz9OgwvE42eJZ?usp=sharing)\n\n\n1) **With Prompts**: You can specify a prompt with `prompt=YOUR_PROMPT` in `encode` method. If set a prompt, the inputs should be a list of dict or a single dict with key `text`, where `text` is the placeholder in the prompt for the input text. You can use other placeholder names. We provide a set of predefined prompts in `Prompts` class, you can check them via `Prompts.list_prompts()`.\n\n```python\nfrom angle_emb import AnglE, Prompts\nfrom angle_emb.utils import cosine_similarity\n\n\nangle = AnglE.from_pretrained('WhereIsAI/UAE-Large-V1', pooling_strategy='cls').cuda()\n# For retrieval tasks, we use `Prompts.C` as the prompt for the query when using UAE-Large-V1 (no need to specify prompt for documents).\n# When specify prompt, the inputs should be a list of dict with key 'text'\nqv = angle.encode({'text': 'what is the weather?'}, to_numpy=True, prompt=Prompts.C)\ndoc_vecs = angle.encode([\n 'The weather is great!',\n 'it is rainy today.',\n 'i am going to bed'\n], to_numpy=True)\n\nfor dv in doc_vecs:\n print(cosine_similarity(qv[0], dv))\n```\n\n2) **Without Prompts**: no need to specify a prompt. Just input a list of strings or a single string.\n\n```python\nfrom angle_emb import AnglE\nfrom angle_emb.utils import cosine_similarity\n\n\nangle = AnglE.from_pretrained('WhereIsAI/UAE-Large-V1', pooling_strategy='cls').cuda()\n# for non-retrieval tasks, we don't need to specify prompt when using UAE-Large-V1.\ndoc_vecs = angle.encode([\n 'The weather is great!',\n 'The weather is very good!',\n 'i am going to bed'\n])\n\nfor i, dv1 in enumerate(doc_vecs):\n for dv2 in doc_vecs[i+1:]:\n print(cosine_similarity(dv1, dv2))\n```\n\n\n### \u231b Infer LLM-based Models\n[](https://colab.research.google.com/drive/1QJcA2Mvive4pBxWweTpZz9OgwvE42eJZ?usp=sharing)\n\nIf the pretrained weight is a LoRA-based model, you need to specify the backbone via `model_name_or_path` and specify the LoRA path via the `pretrained_lora_path` in `from_pretrained` method. \n\n```python\nimport torch\nfrom angle_emb import AnglE, Prompts\nfrom angle_emb.utils import cosine_similarity\n\nangle = AnglE.from_pretrained('NousResearch/Llama-2-7b-hf',\n pretrained_lora_path='SeanLee97/angle-llama-7b-nli-v2',\n pooling_strategy='last',\n is_llm=True,\n torch_dtype=torch.float16).cuda()\nprint('All predefined prompts:', Prompts.list_prompts())\ndoc_vecs = angle.encode([\n {'text': 'The weather is great!'},\n {'text': 'The weather is very good!'},\n {'text': 'i am going to bed'}\n], prompt=Prompts.A)\n\nfor i, dv1 in enumerate(doc_vecs):\n for dv2 in doc_vecs[i+1:]:\n print(cosine_similarity(dv1, dv2))\n```\n\n\n### \u231b Infer BiLLM-based Models\n[](https://colab.research.google.com/drive/1QJcA2Mvive4pBxWweTpZz9OgwvE42eJZ?usp=sharing)\n\nSpecify `apply_billm` and `billm_model_class` to load and infer billm models\n\n\n```python\nimport os\n# set an environment variable for billm start index\nos.environ['BiLLM_START_INDEX'] = '31'\n\nimport torch\nfrom angle_emb import AnglE, Prompts\nfrom angle_emb.utils import cosine_similarity\n\n# specify `apply_billm` and `billm_model_class` to load billm models\nangle = AnglE.from_pretrained('NousResearch/Llama-2-7b-hf',\n pretrained_lora_path='SeanLee97/bellm-llama-7b-nli',\n pooling_strategy='last',\n is_llm=True,\n apply_billm=True,\n billm_model_class='LlamaForCausalLM',\n torch_dtype=torch.float16).cuda()\n\ndoc_vecs = angle.encode([\n {'text': 'The weather is great!'},\n {'text': 'The weather is very good!'},\n {'text': 'i am going to bed'}\n], prompt='The representative word for sentence {text} is:\"')\n\nfor i, dv1 in enumerate(doc_vecs):\n for dv2 in doc_vecs[i+1:]:\n print(cosine_similarity(dv1, dv2))\n```\n\n\n### \u231b Infer Espresso/Matryoshka Models\n[](https://colab.research.google.com/drive/1QJcA2Mvive4pBxWweTpZz9OgwvE42eJZ?usp=sharing)\n\nSpecify `layer_index` and `embedding_size` to truncate embeddings.\n\n\n```python\nfrom angle_emb import AnglE\nfrom angle_emb.utils import cosine_similarity\n\n\nangle = AnglE.from_pretrained('mixedbread-ai/mxbai-embed-2d-large-v1', pooling_strategy='cls').cuda()\n# specify layer_index and embedding size to truncate embeddings\ndoc_vecs = angle.encode([\n 'The weather is great!',\n 'The weather is very good!',\n 'i am going to bed'\n], layer_index=22, embedding_size=768)\n\nfor i, dv1 in enumerate(doc_vecs):\n for dv2 in doc_vecs[i+1:]:\n print(cosine_similarity(dv1, dv2))\n```\n\n### \u231b Infer Third-party Models\n\nYou can load any transformer-based third-party models such as `mixedbread-ai/mxbai-embed-large-v1`, `sentence-transformers/all-MiniLM-L6-v2`, and `BAAI/bge-large-en-v1.5` using `angle_emb`.\n\nHere is an example:\n\n```python\nfrom angle_emb import AnglE\n\nmodel = AnglE.from_pretrained('mixedbread-ai/mxbai-embed-large-v1', pooling_strategy='cls').cuda()\nvec = model.encode('hello world', to_numpy=True)\nprint(vec)\n```\n\n\n## \ud83d\udd78\ufe0f Custom Train\n\n### \ud83d\uddc2\ufe0f 1. Data Prepation\n\nWe currently support three dataset formats:\n\n1) `DatasetFormats.A`: it is a pair format with three columns: `text1`, `text2`, and `label` (0/1).\n\n2) `DatasetFormats.B`: it is a triple format with three columns: `text`, `positive`, and `negative`. `positive` and `negative` store the positive and negative samples of `text`.\n\n3) `DatasetFormats.C`: it is a pair format with two columns: `text`, `positive`. `positive` store the positive sample of `text`.\n\nYou need to prepare your data into huggingface `datasets.Dataset` in one of the formats in terms of your supervised data.\n\n### \ud83d\ude82 2. Train with CLI\n\nUse `angle-trainer` to train your AnglE model in cli mode. \n\n1) Single gpu training:\n\nUsage: \n\n```bash\nCUDA_VISIBLE_DEVICES=0 angle-trainer --help\n```\n\n2) Multi-gpu training:\n\nUsage:\n\n```bash\nCUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 --master_port=1234 -m angle_emb.angle_trainer --help\n```\n\n### \ud83d\ude82 3. Custom Train\n\n[](https://colab.research.google.com/drive/1h28jHvv_x-0fZ0tItIMjf8rJGp3GcO5V?usp=sharing)\n\n\n```python\nfrom datasets import load_dataset\nfrom angle_emb import AnglE, AngleDataTokenizer\n\n\n# 1. load pretrained model\nangle = AnglE.from_pretrained('SeanLee97/angle-bert-base-uncased-nli-en-v1', max_length=128, pooling_strategy='cls').cuda()\n\n# 2. load dataset\n# `text1`, `text2`, and `label` are three required columns.\nds = load_dataset('mteb/stsbenchmark-sts')\nds = ds.map(lambda obj: {\"text1\": str(obj[\"sentence1\"]), \"text2\": str(obj['sentence2']), \"label\": obj['score']})\nds = ds.select_columns([\"text1\", \"text2\", \"label\"])\n\n# 3. transform data\ntrain_ds = ds['train'].shuffle().map(AngleDataTokenizer(angle.tokenizer, angle.max_length), num_proc=8)\nvalid_ds = ds['validation'].map(AngleDataTokenizer(angle.tokenizer, angle.max_length), num_proc=8)\n\n# 4. fit\nangle.fit(\n train_ds=train_ds,\n valid_ds=valid_ds,\n output_dir='ckpts/sts-b',\n batch_size=32,\n epochs=5,\n learning_rate=2e-5,\n save_steps=100,\n eval_steps=1000,\n warmup_steps=0,\n gradient_accumulation_steps=1,\n loss_kwargs={\n 'cosine_w': 1.0,\n 'ibn_w': 1.0,\n 'angle_w': 1.0,\n 'cosine_tau': 20,\n 'ibn_tau': 20,\n 'angle_tau': 20\n },\n fp16=True,\n logging_steps=100\n)\n\n# 5. evaluate\ncorrcoef = angle.evaluate(ds['test'])\nprint('Spearman\\'s corrcoef:', corrcoef)\n```\n\n### \ud83d\udca1 Others\n\n- To enable `llm` training, please specify `--is_llm 1` and configure appropriate LoRA hyperparameters.\n- To enable `billm` training, please specify `--apply_billm 1` and configure appropriate `billm_model_class` such as `LLamaForCausalLM` (refer to: https://github.com/WhereIsAI/BiLLM?tab=readme-ov-file#usage).\n- To enable espresso sentence embeddings (ESE), please specify `--apply_ese 1` and configure appropriate ESE hyperparameters via `--ese_kl_temperature float` and `--ese_compression_size integer`.\n- To convert the trained AnglE models to `sentence-transformers`, please run `python scripts/convert_to_sentence_transformers.py --help` for more details.\n\n\n## \ud83d\udca1 4. Fine-tuning Tips\n\n1\ufe0f\u20e3 If your dataset format is `DatasetFormats.A`, it is recommended to slightly increase the weight for `cosine_w` or slightly decrease the weight for `ibn_w`.\n\n2\ufe0f\u20e3 If your dataset format is `DatasetFormats.B`, it is recommended to set `cosine_w` to 0, and increase the weight for `ibn_w` such as 10 and 20. The `angle_tau` is recommended to set to 20.0.\n\n3\ufe0f\u20e3 If your dataset format is `DatasetFormats.C`, only `ibn_w` and `ibn_tau` are effective. You don't need to tune other parameters.\n\n4\ufe0f\u20e3 To alleviate information forgetting in fine-tuning, it is better to specify the `teacher_name_or_path`. If the `teacher_name_or_path` equals `model_name_or_path`, it will conduct self-distillation. **It is worth to note that** `teacher_name_or_path` has to have the same tokenizer as `model_name_or_path`. Or it will lead to unexpected results.\n\n\n# \ud83e\udee1 Citation\n\nYou are welcome to use our code and pre-trained models. If you use our code and pre-trained models, please support us by citing our work as follows:\n\n```bibtex\n@article{li2023angle,\n title={AnglE-optimized Text Embeddings},\n author={Li, Xianming and Li, Jing},\n journal={arXiv preprint arXiv:2309.12871},\n year={2023}\n}\n```\n\n# \ud83d\udcdc ChangeLogs\n\n| \ud83d\udcc5 | Description |\n|----|------|\n| 2024 May 21 | support Espresso Sentence Embeddings |\n| 2024 Feb 7 | support training with only positive pairs (`DatasetFormats.C`) |\n| 2023 Dec 4 | Release a universal English sentence embedding model: [WhereIsAI/UAE-Large-V1](https://huggingface.co/WhereIsAI/UAE-Large-V1) |\n| 2023 Nov 2 | Release an English pretrained model: `SeanLee97/angle-llama-13b-nli` |\n| 2023 Oct 28 | Release two chinese pretrained models: `SeanLee97/angle-roberta-wwm-base-zhnli-v1` and `SeanLee97/angle-llama-7b-zhnli-v1`; Add chinese README.md |\n\n# \ud83d\udce7 Contact\n\nIf you have any questions or suggestions, please feel free to contact us via email: xmlee97@gmail.com\n\n# \u00a9 License\n\nThis project is licensed under the MIT License.\nFor the pretrained models, please refer to the corresponding license of the models.\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": null,
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"dynamic": null,
"home_page": null,
"keywords": "angle_emb",
"license": null,
"maintainer": null,
"maintainer_email": null,
"name": "angle-emb",
"package_url": "https://pypi.org/project/angle-emb/",
"platform": null,
"project_url": "https://pypi.org/project/angle-emb/",
"project_urls": null,
"provides_extra": null,
"release_url": "https://pypi.org/project/angle-emb/0.4.9/",
"requires_dist": [
"bitsandbytes",
"boltons",
"datasets",
"peft",
"prettytable",
"transformers>=4.32.1",
"scipy",
"einops",
"wandb",
"scikit-learn"
],
"requires_python": null,
"summary": "AnglE-optimize Text Embeddings",
"version": "0.4.9",
"yanked": false,
"yanked_reason": null
},
"last_serial": 24304373,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"blake2b_256": "43ebecb771ca6188e9be3369550c03eaac1f0753d37f361f79786c0f3c358242",
"md5": "65553005bc892276a3d98d4d9f4f3e1f",
"sha256": "1946fb5473a3fb817c76572c5ac0d68e0fad162bb852a291df6d8388c72b66c6"
},
"downloads": -1,
"filename": "angle_emb-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "65553005bc892276a3d98d4d9f4f3e1f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12534,
"upload_time": "2023-10-21T03:24:33",
"upload_time_iso_8601": "2023-10-21T03:24:33.748110Z",
"url": "https://files.pythonhosted.org/packages/43/eb/ecb771ca6188e9be3369550c03eaac1f0753d37f361f79786c0f3c358242/angle_emb-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "89d06d0648961a67d6a8f7017095088c97adbdd31a6d479a6eb3664a32ee7760",
"md5": "3f6cae6f46e13394ccf0033571eb9ff2",
"sha256": "2fb35f737896fb02222c537880091d415da58347ba29f2d3c0ab84c9333c55ee"
},
"downloads": -1,
"filename": "angle_emb-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "3f6cae6f46e13394ccf0033571eb9ff2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14939,
"upload_time": "2023-10-21T03:24:35",
"upload_time_iso_8601": "2023-10-21T03:24:35.531677Z",
"url": "https://files.pythonhosted.org/packages/89/d0/6d0648961a67d6a8f7017095088c97adbdd31a6d479a6eb3664a32ee7760/angle_emb-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cbb6c1049712dd33a61d722f1c85d093056c04af7233b6828528379e9a33809d",
"md5": "ea4484287adb2a9400ab85d7cc50c144",
"sha256": "9a110c909d9cb00f90776d87d2a88174b9e153df82251226f2c043d668a7d228"
},
"downloads": -1,
"filename": "angle_emb-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ea4484287adb2a9400ab85d7cc50c144",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12914,
"upload_time": "2023-10-22T13:01:55",
"upload_time_iso_8601": "2023-10-22T13:01:55.443472Z",
"url": "https://files.pythonhosted.org/packages/cb/b6/c1049712dd33a61d722f1c85d093056c04af7233b6828528379e9a33809d/angle_emb-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0747881fd77d5c687266abc09410e878eaea384ba2e633a3c9f7a26f641e0353",
"md5": "24017e3c70ca72b70c392232749c123b",
"sha256": "20fdef30d4a70063edc440e99270a12632f7775aeaecc5c1a4eb8225553889be"
},
"downloads": -1,
"filename": "angle_emb-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "24017e3c70ca72b70c392232749c123b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15678,
"upload_time": "2023-10-22T13:01:57",
"upload_time_iso_8601": "2023-10-22T13:01:57.544450Z",
"url": "https://files.pythonhosted.org/packages/07/47/881fd77d5c687266abc09410e878eaea384ba2e633a3c9f7a26f641e0353/angle_emb-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8b0fbfdb8baeb83c510099368c1b0c3a691ef8363434437b94f01b82b8b74153",
"md5": "b912c669833c37d902fd393d509e9055",
"sha256": "ba2bdea3be55e3673fdca27049dc3a6d79dd561d1c014e2b7fcc9c6e2c441403"
},
"downloads": -1,
"filename": "angle_emb-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b912c669833c37d902fd393d509e9055",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14248,
"upload_time": "2023-10-29T01:27:35",
"upload_time_iso_8601": "2023-10-29T01:27:35.333167Z",
"url": "https://files.pythonhosted.org/packages/8b/0f/bfdb8baeb83c510099368c1b0c3a691ef8363434437b94f01b82b8b74153/angle_emb-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2f166db79f627d4fd98b5bff2f89b20d020a6b6d873830a08a96271d50067e93",
"md5": "8e37d22fd10c540079db139c0a437b5d",
"sha256": "62f02e70fa82a1d58c3c75febfe6c0842d2ab7f013d324510eef7ab4d23c68a3"
},
"downloads": -1,
"filename": "angle_emb-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "8e37d22fd10c540079db139c0a437b5d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18042,
"upload_time": "2023-10-29T01:27:37",
"upload_time_iso_8601": "2023-10-29T01:27:37.170877Z",
"url": "https://files.pythonhosted.org/packages/2f/16/6db79f627d4fd98b5bff2f89b20d020a6b6d873830a08a96271d50067e93/angle_emb-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c1fb0dd85da566a90045e9405299ec68057159fe83f243dcedecae0603d3f6e1",
"md5": "5da6916ae20a19110672b6a52f0e79e4",
"sha256": "f14bd0681f5c558a8b60055d044cb5c677dcbf8d95c67e97e52202ad7b304cee"
},
"downloads": -1,
"filename": "angle_emb-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5da6916ae20a19110672b6a52f0e79e4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14595,
"upload_time": "2023-12-04T03:18:28",
"upload_time_iso_8601": "2023-12-04T03:18:28.574698Z",
"url": "https://files.pythonhosted.org/packages/c1/fb/0dd85da566a90045e9405299ec68057159fe83f243dcedecae0603d3f6e1/angle_emb-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "72ff6909ecc0bfa352454f565494580215c93ae9ec2bd65800efabdff855057f",
"md5": "11bd831782ca1952dd0f9f8ac38c4da2",
"sha256": "1d7af577051089ad20ce134bdc6c1942685b3597ff45b42f4f9f3f8f7e486c7a"
},
"downloads": -1,
"filename": "angle_emb-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "11bd831782ca1952dd0f9f8ac38c4da2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18489,
"upload_time": "2023-12-04T03:18:30",
"upload_time_iso_8601": "2023-12-04T03:18:30.983695Z",
"url": "https://files.pythonhosted.org/packages/72/ff/6909ecc0bfa352454f565494580215c93ae9ec2bd65800efabdff855057f/angle_emb-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"blake2b_256": "21fc858ab321b00ce6b7208728fdeec8d36a8e83bb1e6f045eecaffa583a58b6",
"md5": "4fb300c2c3ba3160d9c3691752b5ce91",
"sha256": "29ad4d5f3e780b1d08dafb3905b004b7f149ef6249d3ae3e026824e0cb004381"
},
"downloads": -1,
"filename": "angle_emb-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4fb300c2c3ba3160d9c3691752b5ce91",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15002,
"upload_time": "2023-12-07T03:22:24",
"upload_time_iso_8601": "2023-12-07T03:22:24.780339Z",
"url": "https://files.pythonhosted.org/packages/21/fc/858ab321b00ce6b7208728fdeec8d36a8e83bb1e6f045eecaffa583a58b6/angle_emb-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "33a6f1f5fd073fc4ef80869df89e8d870cc9a9f76be43fbbf3b5b75c0a904a4a",
"md5": "8b1b7d6dcf9e986af5db07bd9fb8d3b0",
"sha256": "16790bc2397d435e78f2aaa7690e7ab1831b9de3a2909d4cf069aba5262a6bc5"
},
"downloads": -1,
"filename": "angle_emb-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "8b1b7d6dcf9e986af5db07bd9fb8d3b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19348,
"upload_time": "2023-12-07T03:22:26",
"upload_time_iso_8601": "2023-12-07T03:22:26.578773Z",
"url": "https://files.pythonhosted.org/packages/33/a6/f1f5fd073fc4ef80869df89e8d870cc9a9f76be43fbbf3b5b75c0a904a4a/angle_emb-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.5": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3b1c935d233bca7c4f6c43436f8a22aca3428324e4dd8d51580d13b9de30139c",
"md5": "a5b2b40e7b17de3d4993ccff9069c831",
"sha256": "48b00f0d4dc0317d3f057bdcebe60e15dbb63cf7fa5577f735049eea63d180a6"
},
"downloads": -1,
"filename": "angle_emb-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a5b2b40e7b17de3d4993ccff9069c831",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15086,
"upload_time": "2023-12-09T01:19:27",
"upload_time_iso_8601": "2023-12-09T01:19:27.046414Z",
"url": "https://files.pythonhosted.org/packages/3b/1c/935d233bca7c4f6c43436f8a22aca3428324e4dd8d51580d13b9de30139c/angle_emb-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "09dbc63e7d84118991c34cd942adc88dedd7cb74ca67417e0d419244f7575e91",
"md5": "8abc3a7b56188d7eadfd436a7144b4d3",
"sha256": "e7a6a23c015b028c4e909bb58d998fba80a126b45935507ba6eab3c237363a01"
},
"downloads": -1,
"filename": "angle_emb-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "8abc3a7b56188d7eadfd436a7144b4d3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19400,
"upload_time": "2023-12-09T01:19:28",
"upload_time_iso_8601": "2023-12-09T01:19:28.950461Z",
"url": "https://files.pythonhosted.org/packages/09/db/c63e7d84118991c34cd942adc88dedd7cb74ca67417e0d419244f7575e91/angle_emb-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.6": [
{
"comment_text": "",
"digests": {
"blake2b_256": "33d3f70a31a1e76589409723046f86abd8aa9ea4b94a3d72666786cb72e0634f",
"md5": "0d9a100096e9f35ee500d361ab341d6e",
"sha256": "f39fabe05d9d73f5d60a1d0d708b1382b2bd4a8c9b9220bd0287ce98556e2598"
},
"downloads": -1,
"filename": "angle_emb-0.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0d9a100096e9f35ee500d361ab341d6e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15097,
"upload_time": "2023-12-24T02:34:22",
"upload_time_iso_8601": "2023-12-24T02:34:22.554192Z",
"url": "https://files.pythonhosted.org/packages/33/d3/f70a31a1e76589409723046f86abd8aa9ea4b94a3d72666786cb72e0634f/angle_emb-0.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "13e39f8040dc9303e7b43a117c9807183797f8aae0d36d4cc41562c03dfbd9cc",
"md5": "13f245d5f4b4165c82f0236b56669c2c",
"sha256": "aecf130e859d68849927f7a76a9a4a287715a20034d7928ff6be7eee6df35047"
},
"downloads": -1,
"filename": "angle_emb-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "13f245d5f4b4165c82f0236b56669c2c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19447,
"upload_time": "2023-12-24T02:34:24",
"upload_time_iso_8601": "2023-12-24T02:34:24.764787Z",
"url": "https://files.pythonhosted.org/packages/13/e3/9f8040dc9303e7b43a117c9807183797f8aae0d36d4cc41562c03dfbd9cc/angle_emb-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3f114c5e86813b2d70ca064019426ab39f674bbfa23b1472bcee63ecd171b25d",
"md5": "5b83a87e349a069b928136af70526aa6",
"sha256": "91c2d7b3e85a9bdd5f2d45cde36f217a7a0672fe2dcda8eb1a4e672cbefd13f5"
},
"downloads": -1,
"filename": "angle_emb-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5b83a87e349a069b928136af70526aa6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 35489,
"upload_time": "2024-01-11T02:25:44",
"upload_time_iso_8601": "2024-01-11T02:25:44.289268Z",
"url": "https://files.pythonhosted.org/packages/3f/11/4c5e86813b2d70ca064019426ab39f674bbfa23b1472bcee63ecd171b25d/angle_emb-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af02041bdd051b432fec78e359a2332820457f1fc5f61d6480390e45faf8154d",
"md5": "8e4ad2cfc00af0228f895b631ab7d4ab",
"sha256": "6053b3f554a6e5c472998dae1a4a9b7fedf14188504483d525906dbfacb37329"
},
"downloads": -1,
"filename": "angle_emb-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "8e4ad2cfc00af0228f895b631ab7d4ab",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34377,
"upload_time": "2024-01-11T02:25:45",
"upload_time_iso_8601": "2024-01-11T02:25:45.822378Z",
"url": "https://files.pythonhosted.org/packages/af/02/041bdd051b432fec78e359a2332820457f1fc5f61d6480390e45faf8154d/angle_emb-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"blake2b_256": "93a2b6115b50ea44e56e2dccd2ef36dd105fddbae96b881141134001de1ff560",
"md5": "60d5a474ffbcdf063c17c5f73a4b9dda",
"sha256": "9443134d6135fdf4081cf658ff9ff27bd7c39973364e13ed7b7c0543cdfe0ab2"
},
"downloads": -1,
"filename": "angle_emb-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "60d5a474ffbcdf063c17c5f73a4b9dda",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 35533,
"upload_time": "2024-01-12T08:49:35",
"upload_time_iso_8601": "2024-01-12T08:49:35.257366Z",
"url": "https://files.pythonhosted.org/packages/93/a2/b6115b50ea44e56e2dccd2ef36dd105fddbae96b881141134001de1ff560/angle_emb-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c1abd17b868fa2bab6d30e6e23bd84e746ddb57b26e58ca018b44929a551812d",
"md5": "bca7aacbb6894d93587cdaeb673169b1",
"sha256": "e0ed94fa50c7c515f165953357c238c1c8020512e502d4101f0e0a0a9108850a"
},
"downloads": -1,
"filename": "angle_emb-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "bca7aacbb6894d93587cdaeb673169b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34489,
"upload_time": "2024-01-12T08:49:36",
"upload_time_iso_8601": "2024-01-12T08:49:36.880762Z",
"url": "https://files.pythonhosted.org/packages/c1/ab/d17b868fa2bab6d30e6e23bd84e746ddb57b26e58ca018b44929a551812d/angle_emb-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"blake2b_256": "24c40a9def13528ca1d8e2129bcaa1d7f16b4f8d1cd3ef5ba75a9edf5b5ba21f",
"md5": "053a16f24390d0fc1b610ab9d3c147eb",
"sha256": "c25c216074c73c8d673d6db3b465be16664e685aef93b4de1406ee3c2668f19e"
},
"downloads": -1,
"filename": "angle_emb-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "053a16f24390d0fc1b610ab9d3c147eb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 35542,
"upload_time": "2024-01-12T08:52:47",
"upload_time_iso_8601": "2024-01-12T08:52:47.799073Z",
"url": "https://files.pythonhosted.org/packages/24/c4/0a9def13528ca1d8e2129bcaa1d7f16b4f8d1cd3ef5ba75a9edf5b5ba21f/angle_emb-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1a97ea8684a346f9a428610f50420ba9f2bd639d990cca37deb9a0fbb041bffb",
"md5": "512588aa792c7e3d27c2d78c249bacdf",
"sha256": "c8b38e0aa37ae1a21fe858ecb821e9ccf3da0272f682a28fefd97ccba5df7a6a"
},
"downloads": -1,
"filename": "angle_emb-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "512588aa792c7e3d27c2d78c249bacdf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34459,
"upload_time": "2024-01-12T08:52:49",
"upload_time_iso_8601": "2024-01-12T08:52:49.771993Z",
"url": "https://files.pythonhosted.org/packages/1a/97/ea8684a346f9a428610f50420ba9f2bd639d990cca37deb9a0fbb041bffb/angle_emb-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.2.3": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4ee1a985da5102bf2f9fd5240448dab2203f65e94c988ebe621a7e37ba607eb6",
"md5": "96f976adc94a6daefe190c26654a2c45",
"sha256": "375531cc55302535b4d679d2f010afb03ba950005d3cf7050d57bbc7693d70cb"
},
"downloads": -1,
"filename": "angle_emb-0.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "96f976adc94a6daefe190c26654a2c45",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 35860,
"upload_time": "2024-01-15T01:21:58",
"upload_time_iso_8601": "2024-01-15T01:21:58.025051Z",
"url": "https://files.pythonhosted.org/packages/4e/e1/a985da5102bf2f9fd5240448dab2203f65e94c988ebe621a7e37ba607eb6/angle_emb-0.2.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b4176614825010d2443607a6514333316ed842f7ebc1510c56a4ee99e5c2831",
"md5": "71840ddaa2867db37a5301f716ebc320",
"sha256": "982c8ff29d4f4b3bac5b6ff5f85a0cc196c6fc4c6c64fb546738873bdc90ae47"
},
"downloads": -1,
"filename": "angle_emb-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "71840ddaa2867db37a5301f716ebc320",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34773,
"upload_time": "2024-01-15T01:22:01",
"upload_time_iso_8601": "2024-01-15T01:22:01.400773Z",
"url": "https://files.pythonhosted.org/packages/9b/41/76614825010d2443607a6514333316ed842f7ebc1510c56a4ee99e5c2831/angle_emb-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aa3ce9a17a75f391ff9f3f67ca25bf4d45c333430c7c96d15af614ccfc651df1",
"md5": "864fe603995aaceb02747f0a3046c6cc",
"sha256": "1555df399f9fb65b77e5fe6d2df41bb92a16fdf4bfd25babbeb9b7a6827427e9"
},
"downloads": -1,
"filename": "angle_emb-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "864fe603995aaceb02747f0a3046c6cc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 36605,
"upload_time": "2024-01-15T08:05:10",
"upload_time_iso_8601": "2024-01-15T08:05:10.345795Z",
"url": "https://files.pythonhosted.org/packages/aa/3c/e9a17a75f391ff9f3f67ca25bf4d45c333430c7c96d15af614ccfc651df1/angle_emb-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a2237ddb91e1b5f59533bce53de7ce5a1a37890c758611be3ff89034928de23b",
"md5": "64ac15cbcc69da7eee5daf9fffe52478",
"sha256": "dcb7025c7ad3a181c0185577b0f1d8a937963d441fd8adaef330f46f5dc8b72e"
},
"downloads": -1,
"filename": "angle_emb-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "64ac15cbcc69da7eee5daf9fffe52478",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 35394,
"upload_time": "2024-01-15T08:05:12",
"upload_time_iso_8601": "2024-01-15T08:05:12.907241Z",
"url": "https://files.pythonhosted.org/packages/a2/23/7ddb91e1b5f59533bce53de7ce5a1a37890c758611be3ff89034928de23b/angle_emb-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e763a71264e803e39757c3be572743e9c4a1f63c6f9431543e1595c62f7a46d2",
"md5": "1451a763be7c5ce06695661e29c11261",
"sha256": "3af555f66b01cb73f841994c67548a104f6aff55134e047501accb082e4538a3"
},
"downloads": -1,
"filename": "angle_emb-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1451a763be7c5ce06695661e29c11261",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 36817,
"upload_time": "2024-01-15T12:04:03",
"upload_time_iso_8601": "2024-01-15T12:04:03.268348Z",
"url": "https://files.pythonhosted.org/packages/e7/63/a71264e803e39757c3be572743e9c4a1f63c6f9431543e1595c62f7a46d2/angle_emb-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e037ffd371ec61bd88e43c608872f9478ba57b4ec157ea6269d7a96a8293fc99",
"md5": "64478a426be555ffa9cdeda0ef466590",
"sha256": "7a17cc7ce1ad906f7323b3f817d70257e475876f31b6344b515eb54368591c96"
},
"downloads": -1,
"filename": "angle_emb-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "64478a426be555ffa9cdeda0ef466590",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 35803,
"upload_time": "2024-01-15T12:04:05",
"upload_time_iso_8601": "2024-01-15T12:04:05.360031Z",
"url": "https://files.pythonhosted.org/packages/e0/37/ffd371ec61bd88e43c608872f9478ba57b4ec157ea6269d7a96a8293fc99/angle_emb-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.10": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b6ae3651b2966529c437e3fffe4838e9cadde928e3020dfbb05a6d6073d05beb",
"md5": "8bc462b9c911bceabdaf855fb4a12c75",
"sha256": "3a5e963fb2297d948932086f5b9c5e7eb57eec8d9bc302d0ec6073810d1a5020"
},
"downloads": -1,
"filename": "angle_emb-0.3.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8bc462b9c911bceabdaf855fb4a12c75",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23573,
"upload_time": "2024-03-25T01:51:42",
"upload_time_iso_8601": "2024-03-25T01:51:42.752514Z",
"url": "https://files.pythonhosted.org/packages/b6/ae/3651b2966529c437e3fffe4838e9cadde928e3020dfbb05a6d6073d05beb/angle_emb-0.3.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c348a7d8770c7830886e0c197c540f1a2088a46c64c4e573f62816ecaa69805e",
"md5": "53db2bcbba32d6d858df67aa55c3ea02",
"sha256": "02d6b9a925c310631673f8b9ce41c6352ef0b988db7ae2f60be83899831dc1b0"
},
"downloads": -1,
"filename": "angle_emb-0.3.10.tar.gz",
"has_sig": false,
"md5_digest": "53db2bcbba32d6d858df67aa55c3ea02",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27122,
"upload_time": "2024-03-25T01:51:44",
"upload_time_iso_8601": "2024-03-25T01:51:44.858353Z",
"url": "https://files.pythonhosted.org/packages/c3/48/a7d8770c7830886e0c197c540f1a2088a46c64c4e573f62816ecaa69805e/angle_emb-0.3.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3548e70a5f823430ca7964597e74753075d92411a05d6ded6741b1e32c26ed7c",
"md5": "46cd9fa1da3c3e8b6931faee4a6b925f",
"sha256": "6cdcd60b4519bb4c230aba09e8ec488d5ef24ef58b743151e8cee751076f40b7"
},
"downloads": -1,
"filename": "angle_emb-0.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "46cd9fa1da3c3e8b6931faee4a6b925f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 39146,
"upload_time": "2024-02-05T01:35:31",
"upload_time_iso_8601": "2024-02-05T01:35:31.601028Z",
"url": "https://files.pythonhosted.org/packages/35/48/e70a5f823430ca7964597e74753075d92411a05d6ded6741b1e32c26ed7c/angle_emb-0.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "72a00d7541d9b0d935cb6898effa86215b6c87a6f17bc2fa3209d6d817207e79",
"md5": "e81eb0cadbbf10c77c32a1426566d017",
"sha256": "86153ab775ab96372d6ceda4c20d498b033dd2d66bd1b69ebb7215d5f53af43c"
},
"downloads": -1,
"filename": "angle_emb-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "e81eb0cadbbf10c77c32a1426566d017",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 38216,
"upload_time": "2024-02-05T01:35:33",
"upload_time_iso_8601": "2024-02-05T01:35:33.726854Z",
"url": "https://files.pythonhosted.org/packages/72/a0/0d7541d9b0d935cb6898effa86215b6c87a6f17bc2fa3209d6d817207e79/angle_emb-0.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.3": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a16d00cab5f0ab7df0ae800404e6fa3717be5eac78284550c300e7e7bddadf4a",
"md5": "ceb5b01739c368c6f08f3cee1a662abe",
"sha256": "318953c252978d55a36bb03d57406a816ec3b75635f77eb0a0dc0b148b4992e4"
},
"downloads": -1,
"filename": "angle_emb-0.3.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ceb5b01739c368c6f08f3cee1a662abe",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 39275,
"upload_time": "2024-02-07T10:25:14",
"upload_time_iso_8601": "2024-02-07T10:25:14.441294Z",
"url": "https://files.pythonhosted.org/packages/a1/6d/00cab5f0ab7df0ae800404e6fa3717be5eac78284550c300e7e7bddadf4a/angle_emb-0.3.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4a58029573f866024548e5c1ae827920fd7943196ca49c9b06a84ef54ddf4d7c",
"md5": "6ff0e4098e05769d7eb2dfd1bff4ba76",
"sha256": "d14af4605c48de96b8bd6c28e492d1ae49bca7e0e79fe46be4ca961a88b21047"
},
"downloads": -1,
"filename": "angle_emb-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "6ff0e4098e05769d7eb2dfd1bff4ba76",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 38378,
"upload_time": "2024-02-07T10:25:16",
"upload_time_iso_8601": "2024-02-07T10:25:16.491411Z",
"url": "https://files.pythonhosted.org/packages/4a/58/029573f866024548e5c1ae827920fd7943196ca49c9b06a84ef54ddf4d7c/angle_emb-0.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.4": [
{
"comment_text": "",
"digests": {
"blake2b_256": "047ccccd47fd18eea36f8755c1825ffe4452dfa7878d8fa6094780c7321759af",
"md5": "9fa259ed4a17dfc3db2f7b3fba9aca86",
"sha256": "7d87c8115d6606fd9d175a7039afac81d38617fa9ebc2b9f37c09af7de4c8bca"
},
"downloads": -1,
"filename": "angle_emb-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9fa259ed4a17dfc3db2f7b3fba9aca86",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22944,
"upload_time": "2024-02-23T03:41:18",
"upload_time_iso_8601": "2024-02-23T03:41:18.282544Z",
"url": "https://files.pythonhosted.org/packages/04/7c/cccd47fd18eea36f8755c1825ffe4452dfa7878d8fa6094780c7321759af/angle_emb-0.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a5950de5b6201e4bae3a81ef5cbd43188567e4ab49a8688297c63375492056bc",
"md5": "22c25a8df546a25ebdb99c6ba4dae52e",
"sha256": "ee8d187b85b4b9d97609f5794f995daf57ecaa64e9ff30cf7e8b131165f8ab1f"
},
"downloads": -1,
"filename": "angle_emb-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "22c25a8df546a25ebdb99c6ba4dae52e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26534,
"upload_time": "2024-02-23T03:41:19",
"upload_time_iso_8601": "2024-02-23T03:41:19.999212Z",
"url": "https://files.pythonhosted.org/packages/a5/95/0de5b6201e4bae3a81ef5cbd43188567e4ab49a8688297c63375492056bc/angle_emb-0.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.5": [
{
"comment_text": "",
"digests": {
"blake2b_256": "faf776a406ca725f51c0eda867aa4a2dca45caee008e79264d345610d702aebe",
"md5": "e3388a0465d391d2587e6a6a94831beb",
"sha256": "84a004c5a1a1b2a5e2649cf3159271cff0e0a5df3c731def8b05591d5c3ac8e2"
},
"downloads": -1,
"filename": "angle_emb-0.3.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e3388a0465d391d2587e6a6a94831beb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22939,
"upload_time": "2024-02-23T06:56:53",
"upload_time_iso_8601": "2024-02-23T06:56:53.721016Z",
"url": "https://files.pythonhosted.org/packages/fa/f7/76a406ca725f51c0eda867aa4a2dca45caee008e79264d345610d702aebe/angle_emb-0.3.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8606abf4ca44f444927058b57b820da7b0273cf24ece5188360b94485bcff684",
"md5": "9012fb33530161bdac17221175ef4293",
"sha256": "730f2b3197276e546dd3f774882ab71dd304817031fc38bc44dffe349a8737f9"
},
"downloads": -1,
"filename": "angle_emb-0.3.5.tar.gz",
"has_sig": false,
"md5_digest": "9012fb33530161bdac17221175ef4293",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26495,
"upload_time": "2024-02-23T06:56:56",
"upload_time_iso_8601": "2024-02-23T06:56:56.215543Z",
"url": "https://files.pythonhosted.org/packages/86/06/abf4ca44f444927058b57b820da7b0273cf24ece5188360b94485bcff684/angle_emb-0.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.6": [
{
"comment_text": "",
"digests": {
"blake2b_256": "44ff3e983a3722ab044868914ef1dbe47d56e9dade959084ac489ea94673519a",
"md5": "b0fa3fbd2c3a7c2055af7151194662eb",
"sha256": "63dce018e9dc168dc1aac975b5dd1de7aa1118dd8c3a3b8908d6aa227abc9cc3"
},
"downloads": -1,
"filename": "angle_emb-0.3.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b0fa3fbd2c3a7c2055af7151194662eb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22962,
"upload_time": "2024-02-26T09:25:44",
"upload_time_iso_8601": "2024-02-26T09:25:44.445279Z",
"url": "https://files.pythonhosted.org/packages/44/ff/3e983a3722ab044868914ef1dbe47d56e9dade959084ac489ea94673519a/angle_emb-0.3.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8770ba1946ea451d3d21d56405a11c6700c80efd3cfe063d099a97025c72beed",
"md5": "30e3796a5e986eba45fd287aa0c6ea8b",
"sha256": "40576b51de9ebf568128c6d1490a63f4239fa84079ef964d0d1d1f996a9eab10"
},
"downloads": -1,
"filename": "angle_emb-0.3.6.tar.gz",
"has_sig": false,
"md5_digest": "30e3796a5e986eba45fd287aa0c6ea8b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26547,
"upload_time": "2024-02-26T09:25:46",
"upload_time_iso_8601": "2024-02-26T09:25:46.145515Z",
"url": "https://files.pythonhosted.org/packages/87/70/ba1946ea451d3d21d56405a11c6700c80efd3cfe063d099a97025c72beed/angle_emb-0.3.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.7": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d872a45cad91d6e3d239340e4701bed807380584a12148808d3786bcc7eb6586",
"md5": "bb7f7443328d936da82243fc276f0a58",
"sha256": "7af6f0da3aeaae065f2967f466ca7693470c0d2658ec72437b76e685f042c831"
},
"downloads": -1,
"filename": "angle_emb-0.3.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bb7f7443328d936da82243fc276f0a58",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22968,
"upload_time": "2024-02-28T02:49:28",
"upload_time_iso_8601": "2024-02-28T02:49:28.593239Z",
"url": "https://files.pythonhosted.org/packages/d8/72/a45cad91d6e3d239340e4701bed807380584a12148808d3786bcc7eb6586/angle_emb-0.3.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "024f54ab58bed59e9eafedf1e9ef915d494e5f91a96167e7fc5e17f8dd404746",
"md5": "a865712dfe697f21b0cb163adf6a40d4",
"sha256": "b0f7af3191add4e7ed9fb61a239af2f82a4f77b26c2ef03252b6648c0f4efe8a"
},
"downloads": -1,
"filename": "angle_emb-0.3.7.tar.gz",
"has_sig": false,
"md5_digest": "a865712dfe697f21b0cb163adf6a40d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26545,
"upload_time": "2024-02-28T02:49:30",
"upload_time_iso_8601": "2024-02-28T02:49:30.075395Z",
"url": "https://files.pythonhosted.org/packages/02/4f/54ab58bed59e9eafedf1e9ef915d494e5f91a96167e7fc5e17f8dd404746/angle_emb-0.3.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.8": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5508523e94293c0b1cac200878d61725a442c9f569cada39bd105ad41cdcbbbd",
"md5": "03f93653805adba21ae72561b6714c80",
"sha256": "4380843291e25d5106e5307b635cb566fe24c9ac4c5dede33a815ee4a9d376a0"
},
"downloads": -1,
"filename": "angle_emb-0.3.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "03f93653805adba21ae72561b6714c80",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23328,
"upload_time": "2024-03-04T11:29:25",
"upload_time_iso_8601": "2024-03-04T11:29:25.890777Z",
"url": "https://files.pythonhosted.org/packages/55/08/523e94293c0b1cac200878d61725a442c9f569cada39bd105ad41cdcbbbd/angle_emb-0.3.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "971da0765541934b057f1bc0918529b0e9611c09cfc6655d6615d4dee2a383f4",
"md5": "12ecfaaec865564bf12459fc3ffd7e89",
"sha256": "1fbc6708d096c4c155ba96f638a1d3913e11bd1cdf51787de976193bd40541f1"
},
"downloads": -1,
"filename": "angle_emb-0.3.8.tar.gz",
"has_sig": false,
"md5_digest": "12ecfaaec865564bf12459fc3ffd7e89",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26900,
"upload_time": "2024-03-04T11:29:28",
"upload_time_iso_8601": "2024-03-04T11:29:28.019459Z",
"url": "https://files.pythonhosted.org/packages/97/1d/a0765541934b057f1bc0918529b0e9611c09cfc6655d6615d4dee2a383f4/angle_emb-0.3.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3.9": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c419730c9aea851cdb2609a015d37b4c0f73b409b731aab86ff27e9a3941d58d",
"md5": "df35d9cbdfe6f176588d471b70be4d05",
"sha256": "9e82f5dd49c0644c62114f1f7be65067996a9a83de8e5615d6958f1c84af8cdb"
},
"downloads": -1,
"filename": "angle_emb-0.3.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "df35d9cbdfe6f176588d471b70be4d05",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23397,
"upload_time": "2024-03-14T02:57:34",
"upload_time_iso_8601": "2024-03-14T02:57:34.658868Z",
"url": "https://files.pythonhosted.org/packages/c4/19/730c9aea851cdb2609a015d37b4c0f73b409b731aab86ff27e9a3941d58d/angle_emb-0.3.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1c1014cf78b566948a70dd62efa906e4879f4677bdb1d046db5cd4b3027eda5b",
"md5": "41f33f4fbfbdbe409805370dffb1ea8d",
"sha256": "86b8a489521ff97a2bbe24209fe62f05191e7779307b0105c8098eebf9ec7a1b"
},
"downloads": -1,
"filename": "angle_emb-0.3.9.tar.gz",
"has_sig": false,
"md5_digest": "41f33f4fbfbdbe409805370dffb1ea8d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26919,
"upload_time": "2024-03-14T02:57:36",
"upload_time_iso_8601": "2024-03-14T02:57:36.760617Z",
"url": "https://files.pythonhosted.org/packages/1c/10/14cf78b566948a70dd62efa906e4879f4677bdb1d046db5cd4b3027eda5b/angle_emb-0.3.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"blake2b_256": "eabae51e4b5165ea17b79db7ea6ad6af13b9061cc9aa94c6ccad41cfa3428e67",
"md5": "8dbb3ac422cd8c9e4d40a122c927fd64",
"sha256": "ceb1fe94060b579b353c7e92909f84012a5a88a7c83c0ab5d39e8534942a65ff"
},
"downloads": -1,
"filename": "angle_emb-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8dbb3ac422cd8c9e4d40a122c927fd64",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 28038,
"upload_time": "2024-05-21T09:23:23",
"upload_time_iso_8601": "2024-05-21T09:23:23.977400Z",
"url": "https://files.pythonhosted.org/packages/ea/ba/e51e4b5165ea17b79db7ea6ad6af13b9061cc9aa94c6ccad41cfa3428e67/angle_emb-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5d4717ca04e2ee63bf77357a60e6df811b686b0a865abca68dc3370df7d0bc07",
"md5": "c21543f24fce1be57efaeecda6afaaff",
"sha256": "77491d5f5fe347add76b89acfb3de6b2c2ed2d19aeec7ef783080349f231e90a"
},
"downloads": -1,
"filename": "angle_emb-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "c21543f24fce1be57efaeecda6afaaff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 29459,
"upload_time": "2024-05-21T09:23:26",
"upload_time_iso_8601": "2024-05-21T09:23:26.115669Z",
"url": "https://files.pythonhosted.org/packages/5d/47/17ca04e2ee63bf77357a60e6df811b686b0a865abca68dc3370df7d0bc07/angle_emb-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6333daff91e1658b0a94e5722d2106d36512dc5ba98b7f5390e325c525c7af06",
"md5": "07c3b73cab937227fcce045790bcd1b1",
"sha256": "9183d5614ae69375e9c99226c3c8ddf07487f3b757f6beeb7736c0c5ac17cb16"
},
"downloads": -1,
"filename": "angle_emb-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "07c3b73cab937227fcce045790bcd1b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 28337,
"upload_time": "2024-05-22T08:20:46",
"upload_time_iso_8601": "2024-05-22T08:20:46.715245Z",
"url": "https://files.pythonhosted.org/packages/63/33/daff91e1658b0a94e5722d2106d36512dc5ba98b7f5390e325c525c7af06/angle_emb-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1b9c1c8fb6eb1273246f75125983bd8b57cad34f24033e4325a334d4df16827b",
"md5": "beece931342dbed9bba3d4382d7956ba",
"sha256": "136e258001dfcfb4dd9219bd8e2612ffece57e64e0bcaa47a6763fe48bb3e4a8"
},
"downloads": -1,
"filename": "angle_emb-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "beece931342dbed9bba3d4382d7956ba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30141,
"upload_time": "2024-05-22T08:20:48",
"upload_time_iso_8601": "2024-05-22T08:20:48.794788Z",
"url": "https://files.pythonhosted.org/packages/1b/9c/1c8fb6eb1273246f75125983bd8b57cad34f24033e4325a334d4df16827b/angle_emb-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.2": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d3692c32819c1ac1738759ff7c326c9afde368b46824d238f910f7be12da12a3",
"md5": "d1eacd2e0e090259e918578d332ab997",
"sha256": "a4f12167ee176fe23c202ba5a0b86ca1617b1da44583d38f979f04e51aa3414d"
},
"downloads": -1,
"filename": "angle_emb-0.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d1eacd2e0e090259e918578d332ab997",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 28350,
"upload_time": "2024-05-25T02:29:06",
"upload_time_iso_8601": "2024-05-25T02:29:06.211955Z",
"url": "https://files.pythonhosted.org/packages/d3/69/2c32819c1ac1738759ff7c326c9afde368b46824d238f910f7be12da12a3/angle_emb-0.4.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "131eb7adfbad568ff9e8fe26551fcca6bea5a418db8246a45a3a4ffe63e8b905",
"md5": "97ca291ee53b2b7d9d2bd68cd455f480",
"sha256": "7cbaa77d33ebc73d32f035bbb9e28d401dc4d3bc9854445f57bd55c8553a2224"
},
"downloads": -1,
"filename": "angle_emb-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "97ca291ee53b2b7d9d2bd68cd455f480",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30136,
"upload_time": "2024-05-25T02:29:08",
"upload_time_iso_8601": "2024-05-25T02:29:08.410916Z",
"url": "https://files.pythonhosted.org/packages/13/1e/b7adfbad568ff9e8fe26551fcca6bea5a418db8246a45a3a4ffe63e8b905/angle_emb-0.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.3": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f02ce06ece50829bc82e6b94b8ed40e807ce864f774cee415f9c06b1ebb211b7",
"md5": "995b5147ce4d9d2d645b78f0c7b5cf6a",
"sha256": "65101325dae428d0294322283a02dfc8fb645320349091905a95e50fb03b4ad2"
},
"downloads": -1,
"filename": "angle_emb-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "995b5147ce4d9d2d645b78f0c7b5cf6a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 28344,
"upload_time": "2024-05-26T05:30:38",
"upload_time_iso_8601": "2024-05-26T05:30:38.366947Z",
"url": "https://files.pythonhosted.org/packages/f0/2c/e06ece50829bc82e6b94b8ed40e807ce864f774cee415f9c06b1ebb211b7/angle_emb-0.4.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3d05669dfd85b2d06171340e936f3ad376fc64ff48e11a9cab7a1f168d7f5fc4",
"md5": "b9af8d7f8cdab75f40cff4288e84f582",
"sha256": "4d3d47f978813e16dbdd4d1054df27cb8ffd740e697a6ddc8755af030b2bcf7c"
},
"downloads": -1,
"filename": "angle_emb-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "b9af8d7f8cdab75f40cff4288e84f582",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30160,
"upload_time": "2024-05-26T05:30:40",
"upload_time_iso_8601": "2024-05-26T05:30:40.957834Z",
"url": "https://files.pythonhosted.org/packages/3d/05/669dfd85b2d06171340e936f3ad376fc64ff48e11a9cab7a1f168d7f5fc4/angle_emb-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.4": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d31d1bd5f372200990457bba642a065b8ebaf5bc0845248a8044542e341ef5b0",
"md5": "d374448e754d50e04cbc838681b0f995",
"sha256": "c763936fd6a4fc94b560339ccfefa9e0970b987b4f1b9e9dd6431c4cc0f6e745"
},
"downloads": -1,
"filename": "angle_emb-0.4.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d374448e754d50e04cbc838681b0f995",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 25763,
"upload_time": "2024-05-29T03:57:07",
"upload_time_iso_8601": "2024-05-29T03:57:07.731675Z",
"url": "https://files.pythonhosted.org/packages/d3/1d/1bd5f372200990457bba642a065b8ebaf5bc0845248a8044542e341ef5b0/angle_emb-0.4.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "95a5d64d08f6d9005a96bda10b33132e40a544b4a5379d11e93d528f75921567",
"md5": "07a568480bc73cff912b0afbdcb41acf",
"sha256": "58a12932aa34b43ebc4e16d08b31c05513dfa378fed2b205d226d63dac11bdda"
},
"downloads": -1,
"filename": "angle_emb-0.4.4.tar.gz",
"has_sig": false,
"md5_digest": "07a568480bc73cff912b0afbdcb41acf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 29980,
"upload_time": "2024-05-29T03:57:09",
"upload_time_iso_8601": "2024-05-29T03:57:09.561586Z",
"url": "https://files.pythonhosted.org/packages/95/a5/d64d08f6d9005a96bda10b33132e40a544b4a5379d11e93d528f75921567/angle_emb-0.4.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.5": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cacb9858bee17df731762a976f06c3724b605c30cbdc143d2a4a28d015ee0a62",
"md5": "2cd87ef3df25f31da5d999757ff09b5b",
"sha256": "a42de778e036613ba2b9eed655b94e5e53c6ebbe1f820454548ff0fe2c40dc00"
},
"downloads": -1,
"filename": "angle_emb-0.4.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2cd87ef3df25f31da5d999757ff09b5b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 25954,
"upload_time": "2024-06-05T07:21:22",
"upload_time_iso_8601": "2024-06-05T07:21:22.365624Z",
"url": "https://files.pythonhosted.org/packages/ca/cb/9858bee17df731762a976f06c3724b605c30cbdc143d2a4a28d015ee0a62/angle_emb-0.4.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "85b48838fd14972c0aeb7c4096cea7d8f0adbf16e5f4faf1067324b4264f9003",
"md5": "049f614026f5972208244a1f6b8cfb6a",
"sha256": "8e52925e2a8ee05bb1ac46d56de8f75ccd40070bd4ed6c7b10e2ed15cd9a4e7b"
},
"downloads": -1,
"filename": "angle_emb-0.4.5.tar.gz",
"has_sig": false,
"md5_digest": "049f614026f5972208244a1f6b8cfb6a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30251,
"upload_time": "2024-06-05T07:21:24",
"upload_time_iso_8601": "2024-06-05T07:21:24.010049Z",
"url": "https://files.pythonhosted.org/packages/85/b4/8838fd14972c0aeb7c4096cea7d8f0adbf16e5f4faf1067324b4264f9003/angle_emb-0.4.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.6": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5801cddf5194f83f7bf5ec32647bdb6d4ec0681c9af1be7e34288cc3ef526582",
"md5": "9c9d1cd3ae38b7141ac2aa42979cface",
"sha256": "8e0143977312c158a3d36be36599d2e914b8d8f69617d72fa9bbc7827c6bd0cc"
},
"downloads": -1,
"filename": "angle_emb-0.4.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9c9d1cd3ae38b7141ac2aa42979cface",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 25963,
"upload_time": "2024-06-28T09:27:34",
"upload_time_iso_8601": "2024-06-28T09:27:34.164914Z",
"url": "https://files.pythonhosted.org/packages/58/01/cddf5194f83f7bf5ec32647bdb6d4ec0681c9af1be7e34288cc3ef526582/angle_emb-0.4.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9bd9be098637dd6ff071a045ceb4ad0030f3ffcbde981521ed2b0806e1769b90",
"md5": "0afbb50bbed986d349bbe0f0af0e0d55",
"sha256": "3e4fbc5551897702d28bb02c994043d30a33895d5d90d0e436035545a1b271c4"
},
"downloads": -1,
"filename": "angle_emb-0.4.6.tar.gz",
"has_sig": false,
"md5_digest": "0afbb50bbed986d349bbe0f0af0e0d55",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30227,
"upload_time": "2024-06-28T09:27:36",
"upload_time_iso_8601": "2024-06-28T09:27:36.257258Z",
"url": "https://files.pythonhosted.org/packages/9b/d9/be098637dd6ff071a045ceb4ad0030f3ffcbde981521ed2b0806e1769b90/angle_emb-0.4.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.7": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9197574b1a2a033723cda6a47edbed478188dea097e3d50f9265092e175a4477",
"md5": "e32d5142fb61bef7a1188f7f47a26cc1",
"sha256": "d24739335366f4aeb10a0c3b68298e50939c98d6175a8a79a8af765950b8b23f"
},
"downloads": -1,
"filename": "angle_emb-0.4.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e32d5142fb61bef7a1188f7f47a26cc1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 26178,
"upload_time": "2024-07-18T07:47:29",
"upload_time_iso_8601": "2024-07-18T07:47:29.948409Z",
"url": "https://files.pythonhosted.org/packages/91/97/574b1a2a033723cda6a47edbed478188dea097e3d50f9265092e175a4477/angle_emb-0.4.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5d77089933ff8770a5ddf2518c8015d306e1d96d158fe297da3b73aaaedd683f",
"md5": "cad41c6636954b702575db10313ea285",
"sha256": "71e656ba66f504048069da0b624a731d1192220e8f520a18435ec2ff218c5789"
},
"downloads": -1,
"filename": "angle_emb-0.4.7.tar.gz",
"has_sig": false,
"md5_digest": "cad41c6636954b702575db10313ea285",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30504,
"upload_time": "2024-07-18T07:47:31",
"upload_time_iso_8601": "2024-07-18T07:47:31.658639Z",
"url": "https://files.pythonhosted.org/packages/5d/77/089933ff8770a5ddf2518c8015d306e1d96d158fe297da3b73aaaedd683f/angle_emb-0.4.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.8": [
{
"comment_text": "",
"digests": {
"blake2b_256": "82adf2c5b8ba992ca6daf5aeaf9d533b572719ecac518403ad47847e4840ef22",
"md5": "f04e945e6b21fea7c42003eefab27bbb",
"sha256": "c796cd6089e085326e54cfc685afc346393f37faf290a325ad19ec58fc5e4dd6"
},
"downloads": -1,
"filename": "angle_emb-0.4.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f04e945e6b21fea7c42003eefab27bbb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 26119,
"upload_time": "2024-07-21T06:20:19",
"upload_time_iso_8601": "2024-07-21T06:20:19.688147Z",
"url": "https://files.pythonhosted.org/packages/82/ad/f2c5b8ba992ca6daf5aeaf9d533b572719ecac518403ad47847e4840ef22/angle_emb-0.4.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c8706c8fdd867ba2b3e1393a58b51c146c9974286200eb840650908329fa9898",
"md5": "7f733ba351920161500eba84e6482887",
"sha256": "b64c10232ac94bbe9d16a4102abf5cff728e67277ab856f3fca69578504004f1"
},
"downloads": -1,
"filename": "angle_emb-0.4.8.tar.gz",
"has_sig": false,
"md5_digest": "7f733ba351920161500eba84e6482887",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30462,
"upload_time": "2024-07-21T06:20:21",
"upload_time_iso_8601": "2024-07-21T06:20:21.653940Z",
"url": "https://files.pythonhosted.org/packages/c8/70/6c8fdd867ba2b3e1393a58b51c146c9974286200eb840650908329fa9898/angle_emb-0.4.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4.9": [
{
"comment_text": "",
"digests": {
"blake2b_256": "934182cdb338232b81fdd931fa8dba7d169f2c23686beab7fa2e2b4edc2a7a45",
"md5": "eb8a98627593ff61a359021189957c7e",
"sha256": "afdb39ce91349c3623af76485ce7648aa1f166cec81cf41b3dce2aecd4cf5837"
},
"downloads": -1,
"filename": "angle_emb-0.4.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eb8a98627593ff61a359021189957c7e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 27075,
"upload_time": "2024-07-26T13:21:04",
"upload_time_iso_8601": "2024-07-26T13:21:04.397644Z",
"url": "https://files.pythonhosted.org/packages/93/41/82cdb338232b81fdd931fa8dba7d169f2c23686beab7fa2e2b4edc2a7a45/angle_emb-0.4.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3a57aa46f1ccd1947ad946bf79c0484144b74af8a1f5b7be481eac4b4d5acc51",
"md5": "b40247a23d12c92f8cc752d1697b859b",
"sha256": "f0a0013681366fa647c9ba5b479873eb67aafde756f8f87fcd45c938ac273c70"
},
"downloads": -1,
"filename": "angle_emb-0.4.9.tar.gz",
"has_sig": false,
"md5_digest": "b40247a23d12c92f8cc752d1697b859b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31003,
"upload_time": "2024-07-26T13:21:06",
"upload_time_iso_8601": "2024-07-26T13:21:06.300090Z",
"url": "https://files.pythonhosted.org/packages/3a/57/aa46f1ccd1947ad946bf79c0484144b74af8a1f5b7be481eac4b4d5acc51/angle_emb-0.4.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "934182cdb338232b81fdd931fa8dba7d169f2c23686beab7fa2e2b4edc2a7a45",
"md5": "eb8a98627593ff61a359021189957c7e",
"sha256": "afdb39ce91349c3623af76485ce7648aa1f166cec81cf41b3dce2aecd4cf5837"
},
"downloads": -1,
"filename": "angle_emb-0.4.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eb8a98627593ff61a359021189957c7e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 27075,
"upload_time": "2024-07-26T13:21:04",
"upload_time_iso_8601": "2024-07-26T13:21:04.397644Z",
"url": "https://files.pythonhosted.org/packages/93/41/82cdb338232b81fdd931fa8dba7d169f2c23686beab7fa2e2b4edc2a7a45/angle_emb-0.4.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3a57aa46f1ccd1947ad946bf79c0484144b74af8a1f5b7be481eac4b4d5acc51",
"md5": "b40247a23d12c92f8cc752d1697b859b",
"sha256": "f0a0013681366fa647c9ba5b479873eb67aafde756f8f87fcd45c938ac273c70"
},
"downloads": -1,
"filename": "angle_emb-0.4.9.tar.gz",
"has_sig": false,
"md5_digest": "b40247a23d12c92f8cc752d1697b859b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31003,
"upload_time": "2024-07-26T13:21:06",
"upload_time_iso_8601": "2024-07-26T13:21:06.300090Z",
"url": "https://files.pythonhosted.org/packages/3a/57/aa46f1ccd1947ad946bf79c0484144b74af8a1f5b7be481eac4b4d5acc51/angle_emb-0.4.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"vulnerabilities": []
}