diff --git a/content/ar/404.md b/content/ar/404.md new file mode 100644 index 0000000000..299593ff09 --- /dev/null +++ b/content/ar/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +عفواً! لقد وصلت إلى طريق مسدود. + +إذا كنت تعتقد أنه يجب أن يكون هناك شيء ما هنا ، فيمكنك [فتح مشكلة](https://github.com/numpy/numpy.org/issues) على GitHub. diff --git a/content/ar/_index.md b/content/ar/_index.md new file mode 100644 index 0000000000..be88f9e642 --- /dev/null +++ b/content/ar/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Powerful N-dimensional arrays' +body = ''' +Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. +''' + +[[item]] +type = 'card' +title = 'Numerical computing tools' +body = ''' +NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. +''' + +[[item]] +type = 'card' +title = 'Open source' +body = ''' +Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. +''' + +[[item]] +type = 'card' +title = 'Performant' +body = ''' +The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. +''' + +[[item]] +type = 'card' +title = 'Easy to use' +body = ''' +NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. +''' + +{{< /grid>}} diff --git a/content/ar/about.md b/content/ar/about.md new file mode 100644 index 0000000000..d0e7e72bcc --- /dev/null +++ b/content/ar/about.md @@ -0,0 +1,90 @@ +--- +title: About Us +sidebar: false +--- + +NumPy is an open source project that enables numerical computing with Python. It was created in 2005 building on the early work of the Numeric and Numarray libraries. NumPy will always be 100% open source software and free for all to use. It is released under the liberal terms of the [modified BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +وقد تم تطوير نمباي في العلن على GitHub ومن خلال توافق آراء مجتمع نمباي ونطاق أوسع لمجتمع بايثون العلمي. لمزيد من المعلومات حول نهج الإدارة، يرجى الاطلاع على [الوثيقة الإدارية](https://www.numpy.org/devdocs/dev/governance/index.html) الخاصة بنا. + + +## المجلس التوجيهي + +The NumPy Steering Council is the project's governing body. Its role is to ensure, through working with and serving the broader NumPy community, the long-term sustainability of the project, both as a software package and community. The NumPy Steering Council currently consists of the following members (in alphabetical order, by last name): + +- سيباستيان بيرج +- رالف غومرس +- تشارلز هاريس +- ستيفان هوير +- إينيسا باوسون +- ماتى بيكاس +- ستيفان فان دير والت(Stefan van der Walt) +- ميليسا فيبر ميندونسا (Melissa Weber Mendonça) +- إريك وايزر + +الأعضاء الفخريون: + +- ألكس غريفينغ (2015-2017) +- آلان هالدين (2015-2021) +- مارتن فان كيركويك (2017-2019) +- ترافيس أوليفانت (مؤسس المشروع، 2005-2012) +- ناثانييل سميث (2012-2021) +- جوليان تايلور (2013-2021) +- جايمي فرنانديز ديل ريو(2014-2021) +- باولي فيرتانين (2008-2021) + +To contact the NumPy Steering Council, please email numpy-team@googlegroups.com. + +## الأقسام + +The NumPy project leadership is actively working on diversifying contribution pathways to the project.
NumPy currently has the following teams: + +- development +- الوثائق +- الفرز +- المواقع الالكترونية +- استطلاع +- translations +- sprint mentors +- optimization +- التمويل والمنح + +See the [Team](/teams) page for more info. + +## اللجنة الفرعية ل NumFOCUS + +- تشارلز هاريس +- رالف غومرس +- إينيسا باوسون +- سيباستيان بيرج +- عضو خارجي: توماس كاسويل + +## الرعاة + +ويتلقى المشروع تمويلا مباشرا من المصادر التالية: +{{< sponsors >}} + + +## الشركاء المؤسيسون + +الشركاء المؤسسيون هم المنظمات التي تدعم المشروع وذلك بتوظيف الأشخاص الذين يساهمون في "نمباي" كجزء من عملهم. ويشمل الشركاء المؤسسيون الحاليون ما يلي: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## التبرع + +يرجى النظر في التبرع للمشروع بما يتناسب مع مواردك إذا كنت وجدته مفيد في عملك أو بحثك أو شركتك. ،أي مبلغ قد يساعد، وستستخدم جميع التبرعات بشكل صارم لتطوير برمجيات المشروع مفتوحة المصدر، ووثائقه، ومجتمعه. + +نمباي هو مشروع ممول برعاية شركةNumFOCUS, 501(c)(3) وهي مؤسسة خيرية غير ربحية في الولايات المتحدة. فهى تدعم مشروع نمباي ماليا وقانونيا وإداريا للمساعدة في ضمان ازدهاره واستدامته. قم بزيارة [numfocus.org](https://numfocus.org) لمزيد من المعلومات. + +يمكنك التبرع من خلال: [](https://numfocus.org). وبخصوص المتبرعين في الولايات المتحدة، فإن هديتكم تخصم من الضرائب بالقدر الذي ينص عليه القانون. كما هو الحال في أي تبرع، وعلى هذا فيتوجب عليك التشاور مع مستشارك الضريبى. + +وسيتخذ المجلس التوجيهي لنمباى القرارات المتعلقة بكيفية استخدام أي أموال يتلقاها على أفضل وجه. وتوثق الأولويات التقنية وأولويات البنية التحتية على [](https://www.numpy.org/neps/index.html#roadmap). + +{{}} + diff --git a/content/ar/arraycomputing.md b/content/ar/arraycomputing.md new file mode 100644 index 0000000000..abd29d11c1 --- /dev/null +++ b/content/ar/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: Array Computing +sidebar: false +--- + +*Array computing is the foundation of statistical, mathematical, scientific computing in various contemporary data science and analytics applications such as data visualization, digital signal processing, image processing, bioinformatics, machine learning, AI, and several others.* + +Large scale data manipulation and transformation depends on efficient, high-performance array computing. The language of choice for data analytics, machine learning, and productive numerical computing is **Python.** + +**Num**erical **Py**thon or NumPy is its de-facto standard Python programming language library that supports large, multi-dimensional arrays and matrices, and comes with a vast collection of high-level mathematical functions to operate on these arrays. + +Since the launch of NumPy in 2006, Pandas appeared on the landscape in 2008, and it was not until a couple of years ago that several array computing libraries showed up in succession, crowding the array computing landscape. Many of these newer libraries mimic NumPy-like features and capabilities, and pack newer algorithms and features geared towards machine learning and artificial intelligence applications. + +arraycl + +**Array computing** is based on **arrays** data structures. *Arrays* are used to organize vast amounts of data such that a related set of values can be easily sorted, searched, mathematically manipulated, and transformed easily and quickly. + +Array computing is *unique* as it involves operating on the data array *at once*. What this means is that any array operation applies to an entire set of values in one shot. This vectorized approach provides speed and simplicity by enabling programmers to code and operate on aggregates of data, without having to use loops of individual scalar operations. diff --git a/content/ar/case-studies/blackhole-image.md b/content/ar/case-studies/blackhole-image.md new file mode 100644 index 0000000000..22334ebed0 --- /dev/null +++ b/content/ar/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "Case Study: First Image of a Black Hole" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## A telescope the size of the earth + +The [Event Horizon telescope (EHT)](https://eventhorizontelescope.org) is an array of eight ground-based radio telescopes forming a computational telescope the size of the earth, studing the universe with unprecedented sensitivity and resolution. The huge virtual telescope, which uses a technique called very-long-baseline interferometry (VLBI), has an angular resolution of [20 micro-arcseconds][resolution] — enough to read a newspaper in New York from a sidewalk café in Paris! + +### Key Goals and Results + +* **A New View of the Universe:** The groundwork for the EHT's groundbreaking image had been laid 100 years earlier when [Sir Arthur Eddington][eddington] yielded the first observational support of Einstein's theory of general relativity. + +* **The Black Hole:** EHT was trained on a supermassive black hole approximately 55 million light-years from Earth, lying at the center of the galaxy Messier 87 (M87) in the Virgo galaxy cluster. Its mass is 6.5 billion times the Sun's. It had been studied for [over 100 years](https://www.jpl.nasa.gov/news/news.php?feature=7385), but never before had a black hole been visually observed. + +* **Comparing Observations to Theory:** From Einstein’s general theory of relativity, scientists expected to find a shadow-like region caused by gravitational bending and capture of light. Scientists could use it to measure the black hole's enormous mass. + +### The Challenges + +* **Computational scale** + + EHT poses massive data-processing challenges, including rapid atmospheric phase fluctuations, large recording bandwidth, and telescopes that are widely dissimilar and geographically dispersed. + +* **Too much information** + + Each day EHT generates over 350 terabytes of observations, stored on helium-filled hard drives. Reducing the volume and complexity of this much data is enormously difficult. + +* **Into the unknown** + + When the goal is to see something never before seen, how can scientists be confident the image is correct? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT Data Processing Pipeline' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## NumPy’s Role + +What if there's a problem with the data? Or perhaps an algorithm relies too heavily on a particular assumption. Will the image change drastically if a single parameter is changed? + +The EHT collaboration met these challenges by having independent teams evaluate the data, using both established and cutting-edge image reconstruction techniques. When results proved consistent, they were combined to yield the first-of-a-kind image of the black hole. + +Their work illustrates the role the scientific Python ecosystem plays in advancing science through collaborative data analysis. + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'The role of NumPy in Black Hole imaging' +{{< /figure >}} + +For example, the [`eht-imaging`][ehtim] Python package provides tools for simulating and performing image reconstruction on VLBI data. NumPy is at the core of array data processing used in this package, as illustrated by the partial software dependency chart below. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Software dependency chart of ehtim package highlighting NumPy' +{{< /figure >}} + +Besides NumPy, many other packages, such as [SciPy](https://www.scipy.org) and [Pandas](https://pandas.io), are part of the data processing pipeline for imaging the black hole. The standard astronomical file formats and time/coordinate transformations were handled by [Astropy][astropy], while [Matplotlib][mpl] was used in visualizing data throughout the analysis pipeline, including the generation of the final image of the black hole. + +## Summary + +The efficient and adaptable n-dimensional array that is NumPy's central feature enabled researchers to manipulate large numerical datasets, providing a foundation for the first-ever image of a black hole. A landmark moment in science, it gives stunning visual evidence of Einstein’s theory. The achievement encompasses not only technological breakthroughs but also international collaboration among over 200 scientists and some of the world's best radio observatories. Innovative algorithms and data processing techniques, improving upon existing astronomical models, helped unfold a mystery of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/ar/case-studies/cricket-analytics.md b/content/ar/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..d0be271f50 --- /dev/null +++ b/content/ar/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "Case Study: Cricket Analytics, the game changer!" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, the biggest Cricket Festival in India' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## About Cricket + +It would be an understatement to state that Indians love cricket. The game is played in just about every nook and cranny of India, rural or urban, popular with the young and the old alike, connecting billions in India unlike any other sport. Cricket enjoys lots of media attention. There is a significant amount of [money](https://www.statista.com/topics/4543/indian-premier-league-ipl/) and fame at stake. Over the last several years, technology has literally been a game changer. Audiences are spoilt for choice with streaming media, tournaments, affordable access to mobile based live cricket watching, and more. + +The Indian Premier League (IPL) is a professional Twenty20 cricket league, founded in 2008. It is one of the most attended cricketing events in the world, valued at [$6.7 billion](https://en.wikipedia.org/wiki/Indian_Premier_League) in 2019. + +Cricket is a game of numbers - the runs scored by a batsman, the wickets taken by a bowler, the matches won by a cricket team, the number of times a batsman responds in a certain way to a kind of bowling attack, etc. The capability to dig into cricketing numbers for both improving performance and studying the business opportunities, overall market, and economics of cricket via powerful analytics tools, powered by numerical computing software such as NumPy, is a big deal. Cricket analytics provides interesting insights into the game and predictive intelligence regarding game outcomes. + +Today, there are rich and almost infinite troves of cricket game records and statistics available, e.g., [ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) and [cricsheet](https://cricsheet.org). These and several such cricket databases have been used for [cricket analysis](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances) using the latest machine learning and predictive modelling algorithms. Media and entertainment platforms along with professional sports bodies associated with the game use technology and analytics for determining key metrics for improving match winning chances: + +* batting performance moving average, +* score forecasting, +* gaining insights into fitness and performance of a player against different opposition, +* player contribution to wins and losses for making strategic decisions on team composition + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Cricket Pitch, the focal point in the field' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### Key Data Analytics Objectives + +* Sports data analytics are used not only in cricket but many [other sports](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) for improving the overall team performance and maximizing winning chances. +* Real-time data analytics can help in gaining insights even during the game for changing tactics by the team and by associated businesses for economic benefits and growth. +* Besides historical analysis, predictive models are harnessed to determine the possible match outcomes that require significant number crunching and data science know-how, visualization tools and capability to include newer observations in the analysis. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'Cricket Pose Estimator' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### The Challenges + +* **Data Cleaning and preprocessing** + + IPL has expanded cricket beyond the classic test match format to a much larger scale. The number of matches played every season across various formats has increased and so has the data, the algorithms, newer sports data analysis technologies and simulation models. Cricket data analysis requires field mapping, player tracking, ball tracking, player shot analysis, and several other aspects involved in how the ball is delivered, its angle, spin, velocity, and trajectory. All these factors together have increased the complexity of data cleaning and preprocessing. + +* **Dynamic Modeling** + + In cricket, just like any other sport, there can be a large number of variables related to tracking various numbers of players on the field, their attributes, the ball, and several possibilities of potential actions. The complexity of data analytics and modeling is directly proportional to the kind of predictive questions that are put forth during analysis and are highly dependent on data representation and the model. Things get even more challenging in terms of computation, data comparisons when dynamic cricket play predictions are sought such as what would have happened if the batsman had hit the ball at a different angle or velocity. + +* **Predictive Analytics Complexity** + + Much of the decision making in cricket is based on questions such as "how often does a batsman play a certain kind of shot if the ball delivery is of a particular type", or "how does a bowler change his line and length if the batsman responds to his delivery in a certain way". This kind of predictive analytics query requires highly granular dataset availability and the capability to synthesize data and create generative models that are highly accurate. + +## NumPy’s Role in Cricket Analytics + +Sports Analytics is a thriving field. Many researchers and companies [use NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) and other PyData packages like Scikit-learn, SciPy, Matplotlib, and Jupyter, besides using the latest machine learning and AI techniques. NumPy has been used for various kinds of cricket related sporting analytics such as: + +* **Statistical Analysis:** NumPy's numerical capabilities help estimate the statistical significance of observational data or match events in the context of various player and game tactics, estimating the game outcome by comparison with a generative or static model. [Causal analysis](https://amplitude.com/blog/2017/01/19/causation-correlation) and [big data approaches](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) are used for tactical analysis. + +* **Data Visualization:** Data graphing and [visualization](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) provide useful insights into relationship between various datasets. + +## Summary + +Sports Analytics is a game changer when it comes to how professional games are played, especially how strategic decision making happens, which until recently was primarily done based on “gut feeling" or adherence to past traditions. NumPy forms a solid foundation for a large set of Python packages which provide higher level functions related to data analytics, machine learning, and AI algorithms. These packages are widely deployed to gain real-time insights that help in decision making for game-changing outcomes, both on field as well as to draw inferences and drive business around the game of cricket. Finding out the hidden parameters, patterns, and attributes that lead to the outcome of a cricket match helps the stakeholders to take notice of game insights that are otherwise hidden in numbers and statistics. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagram showing benefits of using NumPy for cricket analytics' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/ar/case-studies/deeplabcut-dnn.md b/content/ar/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..35f8804e3d --- /dev/null +++ b/content/ar/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "دراسة حالة: تقدير DeepLabCut 3D Pose" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analyzing mice hand-movement using DeepLapCut' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Open Source Software is accelerating Biomedicine. DeepLabCut enables automated video analysis of animal behavior using Deep Learning. +> +> {{< /blockquote >}} + +## About DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) is an open source toolbox that empowers researchers at hundreds of institutions worldwide to track behaviour of laboratory animals, with very little training data, at human-level accuracy. With DeepLabCut technology, scientists can delve deeper into the scientific understanding of motor control and behavior across animal species and timescales. + +Several areas of research, including neuroscience, medicine, and biomechanics, use data from tracking animal movement. DeepLabCut helps in understanding what humans and other animals are doing by parsing actions that have been recorded on film. Using automation for laborious tasks of tagging and monitoring, along with deep neural network based data analysis, DeepLabCut makes scientific studies involving observing animals, such as primates, mice, fish, flies etc., much faster and more accurate. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Colored dots track the positions of a racehorse’s body part' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' +{{< /figure >}} + +DeepLabCut's non-invasive behavioral tracking of animals by extracting the poses of animals is crucial for scientific pursuits in domains such as biomechanics, genetics, ethology & neuroscience. Measuring animal poses non-invasively from video - without markers - in dynamically changing backgrounds is computationally challenging, both technically as well as in terms of resource needs and training data required. + +DeepLabCut allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior through a Python based software toolkit. With DeepLabCut, researchers can identify distinct frames from videos, digitally label specific body parts in a few dozen frames with a tailored GUI, and then the deep learning based pose estimation architectures in DeepLabCut learn how to pick out those same features in the rest of the video and in other similar videos of animals. It works across species of animals, from common laboratory animals such as flies and mice to more unusual animals like [cheetahs][cheetah-movement]. + +DeepLabCut uses a principle called [transfer learning](https://arxiv.org/pdf/1909.11229), which greatly reduces the amount of training data required and speeds up the convergence of the training period. Depending on the needs, users can pick different network architectures that provide faster inference (e.g. MobileNetV2), which can also be combined with real-time experimental feedback. DeepLabCut originally used the feature detectors from a top-performing human pose estimation architecture, called [DeeperCut](https://arxiv.org/abs/1605.03170), which inspired the name. The package now has been significantly changed to include additional architectures, augmentation methods, and a full front-end user experience. Furthermore, to support large-scale biological experiments DeepLabCut provides active learning capabilities so that users can increase the training set over time to cover edge cases and make their pose estimation algorithm robust within the specific context. + +Recently, the [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) was introduced, which provides pre-trained models for various species and experimental conditions from facial analysis in primates to dog posture. This can be run for instance in the cloud without any labeling of new data, or neural network training, and no programming experience is necessary. + +### Key Goals and Results + +* **Automation of animal pose analysis for scientific studies:** + + The primary objective of DeepLabCut technology is to measure and track posture of animals in a diverse settings. This data can be used, for example, in neuroscience studies to understand how the brain controls movement, or to elucidate how animals socially interact. Researchers have observed a [tenfold performance boost](https://www.biorxiv.org/content/10.1101/457242v1) with DeepLabCut. Poses can be inferred offline at up to 1200 frames per second (FPS). + +* **Creation of an easy-to-use Python toolkit for pose estimation:** + + DeepLabCut wanted to share their animal pose-estimation technology in the form of an easy to use tool that can be adopted by researchers easily. So they have created a complete, easy-to-use Python toolbox with project management features as well. These enable not only automation of pose-estimation but also managing the project end-to-end by helping the DeepLabCut Toolkit user right from the dataset collection stage to creating shareable and reusable analysis pipelines. + + Their [toolkit][DLCToolkit] is now available as open source. + + A typical DeepLabCut Workflow includes: + + - creation and refining of training sets via active learning + - creation of tailored neural networks for specific animals and scenarios + - code for large-scale inference on videos + - draw inferences using integrated visualization tools + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pose estimation steps with DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +{{< /figure >}} + +### The Challenges + +* **Speed** + + Fast processing of animal behavior videos in order to measure their behavior and at the same time make scientific experiments more efficient, accurate. Extracting detailed animal poses for laboratory experiments, without markers, in dynamically changing backgrounds, can be challenging, both technically as well as in terms of resource needs and training data required. Coming up with a tool that is easy to use without the need for skills such as computer vision expertise that enables scientists to do research in more real-world contexts, is a non-trivial problem to solve. + +* **Combinatorics** + + Combinatorics involves assembly and integration of movement of multiple limbs into individual animal behavior. Assembling keypoints and their connections into individual animal movements and linking them across time is a complex process that requires heavy-duty numerical analysis, especially in case of multi-animal movement tracking in experiment videos. + +* **Data Processing** + + Last but not the least, array manipulation - processing large stacks of arrays corresponding to various images, target tensors and keypoints is fairly challenging. + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Pose estimation variety and complexity' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## NumPy's Role in meeting Pose Estimation Challenges + +NumPy addresses DeepLabCut technology's core need of numerical computations at high speed for behavioural analytics. Besides NumPy, DeepLabCut employs various Python software that utilize NumPy at their core, such as [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) and [Tensorflow](https://www.tensorflow.org). + +The following features of NumPy played a key role in addressing the image processing, combinatorics requirements and need for fast computation in DeepLabCut pose estimation algorithms: + +* Vectorization +* Masked Array Operations +* Linear Algebra +* Random Sampling +* Reshaping of large arrays + +DeepLabCut utilizes NumPy’s array capabilities throughout the workflow offered by the toolkit. In particular, NumPy is used for sampling distinct frames for human annotation labeling, and for writing, editing and processing annotation data. Within TensorFlow the neural network is trained by DeepLabCut technology over thousands of iterations to predict the ground truth annotations from frames. For this purpose, target densities (scoremaps) are created to cast pose estimation as a image-to-image translation problem. To make the neural networks robust, data augmentation is employed, which requires the calculation of target scoremaps subject to various geometric and image processing steps. To make training fast, NumPy’s vectorization capabilities are leveraged. For inference, the most likely predictions from target scoremaps need to extracted and one needs to efficiently “link predictions to assemble individual animals”. + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut Workflow' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## Summary + +Observing and efficiently describing behavior is a core tenant of modern ethology, neuroscience, medicine, and technology. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior. With only a small set of training images, the DeepLabCut Python toolbox allows training a neural network to within human level labeling accuracy, thus expanding its application to not only behavior analysis in the laboratory, but to potentially also in sports, gait analysis, medicine and rehabilitation studies. Complex combinatorics, data processing challenges faced by DeepLabCut algorithms are addressed through the use of NumPy's array manipulation capabilities. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/ar/case-studies/gw-discov.md b/content/ar/case-studies/gw-discov.md new file mode 100644 index 0000000000..d99634d9ac --- /dev/null +++ b/content/ar/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "دراسة حالة: اكتشاف الأمواج الثقالية" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Gravitational Waves' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## حول الموجات الثقالية والLIGO[](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/)[](https://www.ligo.caltech.edu) + +Gravitational waves are ripples in the fabric of space and time, generated by cataclysmic events in the universe such as collision and merging of two black holes or coalescing binary stars or supernovae. Observing GW can not only help in studying gravity but also in understanding some of the obscure phenomena in the distant universe and its impact. + +The [Laser Interferometer Gravitational-Wave Observatory (LIGO)](https://www.ligo.caltech.edu) was designed to open the field of gravitational-wave astrophysics through the direct detection of gravitational waves predicted by Einstein’s General Theory of Relativity. It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. Each of them has multi-kilometer-scale gravitational wave detectors that use laser interferometry. The LIGO Scientific Collaboration (LSC), is a group of more than 1000 scientists from universities around the United States and in 14 other countries supported by more than 90 universities and research institutes; approximately 250 students actively contributing to the collaboration. The new LIGO discovery is the first observation of gravitational waves themselves, made by measuring the tiny disturbances the waves make to space and time as they pass through the earth. It has opened up new astrophysical frontiers that explore the warped side of the universe—objects and phenomena that are made from warped spacetime. + + +### Key Objectives + +* Though its [mission](https://www.ligo.caltech.edu/page/what-is-ligo) is to detect gravitational waves from some of the most violent and energetic processes in the Universe, the data LIGO collects may have far-reaching effects on many areas of physics including gravitation, relativity, astrophysics, cosmology, particle physics, and nuclear physics. +* Crunch observed data via numerical relativity computations that involves complex maths in order to discern signal from noise, filter out relevant signal and statistically estimate significance of observed data +* Data visualization so that the binary / numerical results can be comprehended. + + + +### The Challenges + +* **Computation** + + Gravitational Waves are hard to detect as they produce a very small effect and have tiny interaction with matter. Processing and analyzing all of LIGO's data requires a vast computing infrastructure.After taking care of noise, which is billions of times of the signal, there is still very complex relativity equations and huge amounts of data which present a computational challenge: [O(10^7) CPU hrs needed for binary merger analyses](https://youtu.be/7mcHknWWzNI) spread on 6 dedicated LIGO clusters + +* **Data Deluge** + + As observational devices become more sensitive and reliable, the challenges posed by data deluge and finding a needle in a haystack rise multi-fold. LIGO generates terabytes of data every day! Making sense of this data requires an enormous effort for each and every detection. For example, the signals being collected by LIGO must be matched by supercomputers against hundreds of thousands of templates of possible gravitational-wave signatures. + +* **Visualization** + + Once the obstacles related to understanding Einstein’s equations well enough to solve them using supercomputers are taken care of, the next big challenge was making data comprehensible to the human brain. Simulation modeling as well as signal detection requires effective visualization techniques. Visualization also plays a role in lending more credibility to numerical relativity in the eyes of pure science aficionados, who did not give enough importance to numerical relativity until imaging and simulations made it easier to comprehend results for a larger audience. Speed of complex computations and rendering, re-rendering images and simulations using latest experimental inputs and insights can be a time consuming activity that challenges researchers in this domain. + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Estimated gravitational-wave strain amplitude from GW150914' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## NumPy’s Role in the Detection of Gravitational Waves + +Gravitational waves emitted from the merger cannot be computed using any technique except brute force numerical relativity using supercomputers. The amount of data LIGO collects is as incomprehensibly large as gravitational wave signals are small. + +NumPy, the standard numerical analysis package for Python, was utilized by the software used for various tasks performed during the GW detection project at LIGO. NumPy helped in solving complex maths and data manipulation at high speed. Here are some examples: + +* [Signal Processing](https://www.uv.es/virgogroup/Denoising_ROF.html): Glitch detection, [Noise identification and Data Characterization](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* Data retrieval: Deciding which data can be analyzed, figuring out whether it contains a signal - needle in a haystack +* Statistical analysis: estimate the statistical significance of observational data, estimating the signal parameters (e.g. masses of stars, spin velocity, and distance) by comparison with a model. +* Visualization of data + - Time series + - Spectrograms +* Compute Correlations +* Key [Software](https://github.com/lscsoft) developed in GW data analysis such as [GwPy](https://gwpy.github.io/docs/stable/overview.html) and [PyCBC](https://pycbc.org) uses NumPy and AstroPy under the hood for providing object based interfaces to utilities, tools, and methods for studying data from gravitational-wave detectors. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Dependency graph showing how GwPy package depends on NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Dependency graph showing how PyCBC package depends on NumPy' +{{< /figure >}} + +## Summary + +GW detection has enabled researchers to discover entirely unexpected phenomena while providing new insight into many of the most profound astrophysical phenomena known. Number crunching and data visualization is a crucial step that helps scientists gain insights into data gathered from the scientific observations and understand the results. The computations are complex and cannot be comprehended by humans unless it is visualized using computer simulations that are fed with the real observed data and analysis. NumPy along with other Python packages such as matplotlib, pandas, and scikit-learn is [enabling researchers](https://www.gw-openscience.org/events/GW150914/) to answer complex questions and discover new horizons in our understanding of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/ar/citing-numpy.md b/content/ar/citing-numpy.md new file mode 100644 index 0000000000..1ffa9657ec --- /dev/null +++ b/content/ar/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: الاستشهاد بنمباي +sidebar: false +--- + +إذا كان لنمباي دور كبير فى بحثك وتود الإشارة إليه فى منشورك الأكاديمى،فبامكانك إلقاء نظرة على هذة الورقة المقترحة للاستشهاد: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([رابط النشر](https://www.nature.com/articles/s41586-020-2649-2)). + +_بتنسيق In BibTeX:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/ar/code-of-conduct.md b/content/ar/code-of-conduct.md new file mode 100644 index 0000000000..2238898ec4 --- /dev/null +++ b/content/ar/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: القواعد السلوكية لنمباي +sidebar: false +aliases: + - /conduct.html +--- + +### المقدمة + +هذه القواعد السلوكية تنطبق علي جميع المجالات التي تدار من قبل مشروع نمباي, بما في ذلك كل قوائم البريد سواء كانت خاصة أم عامة ومتعقبات القضايا والويكي والمدونات وتويتر وأي قناة اتصال تستخدم من قبل مجتمعنا. مشروع نمباي لا يقوم بتنظيم أي فعاليات شخصية ومع ذلك أي فعاليات متعلقة لمجتمعنا ينبغي أن تكون لها قواعد سلوكية مشابهة لروح هذا المستند. + +ينبغي علي كل شخص مشارك في مجتمع نمباي أن يحتذي بهذه القواعد سواء كان مشترك بصورة رسمية أو غير رسمية، أو يدعي انتمائه للمشروع في أي انشطه متعلقة للمشروع وخاصة عندما يمثل المشروع تحت أي دور. + +هذه القواعد ليست شاملة أو كاملة. لكنها تساعد علي استخلاص فهمنا المشترك للتعاون في ظل بيئة وأهداف مشتركة. من فضلك حاول أن تتبع هذه القواعد روحا ونصا من أجل إنشاء بيئة ودودة ومنتجة نثري بها المجتمع المحيط. + +### القواعد الارشادية المحددة + +نحن نسعى إلي: + +1. أن نكون منفتحين. نحن ندعو الجميع للمشاركة في مجتمعنا. نحن نفضل استخدام وسائل الاتصال العامة للرسائل المتعلقة بالمشروع، ما لم نناقش شيئا حساسا. ينطبق هذا علي الرسائل الخاصة بطلب المساعدة أوالمتعلقة بدعم المشروع ، ليس فقط ﻷن طلبات الدعم العام محببة لاحتمالية الوصول للإجابة عن الاستفسارات بشكل اكبر، ولكن أيضا لضمان سهولة الكشف والتصحيح عن أي أخطاء غير مقصودة في الإجابات. +2. أن نكون عطوفين ومرحبين واكثر ودا وصبرا. نحن نعمل معا لحل الخلافات ونفترض حسن النوايا. قد نواجه بعض الإحباط من حين ألي أخر لكننا لا نسمح للإحباط أن يتحول إلي هجوم شخصي. فالمجتمع الذي يشعر فيه الناس بعدم الارتياح أو بالتهديد ليس مجتمعا منتجا. +3. أن نكون متعاونين. كما سيستفيد بعملنا الآخرين سنستفيد نحن أيضا بعملهم. عندما نقوم بصنع شيئاً لمنفعة المشروع ، سوف نكون علي الاستعداد لشرح للآخرين كيفية عمله ، حتي يكونوا قادرين علي البناء عليه لجعله أفضل. أي قرار سنتخذه سيؤثر علي المستخدمين وعلي زملائنا في العمل لذا يجب أن تأخذ العواقب علي محمل الجد عندما نتخذ القرارات. +4. أن نكون اكثر استطلاعاً. لا أحد علي دراية بكل شئ! طرح الأسئلة في وقت مبكر قد يجنب العديد من المشاكل اللاحقة ، لذا نحن نشجع الأسئلة علي الرغم من أننا قد نعيد توجهها إلي المنتدي المناسب. وسنحاول جاهدين أن نكون متجاوبين ومفيدين. +5. أن نكون حذريين في اختيار الكلمات. وأن نتوخى الحذر والاحترام في اتصالاتنا، ونتحمل المسؤولية عن خطابنا. وأن نكون عطوفين مع الأخريين. لا تهين أو تحط من قدر المشاركين الآخرين. نحن لن نتقبل المضايقات أو أي سلوك استبعادي أخر ، مثل: + * التهديدات العنيفة أو الخطاب الموجه ضد الأخر. + * النكات والتلميحات القائمة علي الجنس أو العرق أو اي أشكال التمييز الأخري. + * نشر مواد جنسية صريحة أو مواد تشجع علي العنف. + * نشر (أو التهديد بنشر) المعلومات التعريفية الشخصية لأناس آخرين ("doxing"). + * مشاركة المحتوى الخاص، مثل رسائل البريد الإلكتروني المرسلة بشكل خاص أو غير علني، أو المنتديات غير المسجلة مثل تاريخ قناة IRC، بدون موافقة المرسل. + * الإهانات الشخصية، خاصةً التي تستخدم مصطلحات عنصرية أو متحيزة جنسياً. + * الاهتمام الجنسي الغير مرحب به. + * البذائه المفرطه. يرجى تجنب الكلمات البذيئة، يختلف الناس اختلافا كبيرا في حساسيتهم للبذائه. + * • المضايقة المتكررة للآخرين. بشكل عام، إذا طلب منك شخص ما التوقف فيجب عليك التوقف. + * الدعوة إلى أي من السلوكيات المذكور أعلاه أو التشجيع إليها. + +### بيان التنوع + +يرحب ويشجع مشروع نمباي بمشاركات الجميع. نحن ملتزمون بأن نكون مجتمعا يتمتع كل فرد فيه بكونه جزء منه. وبالرغم أننا قد لا نكون قادرين دوماً على استيعاب تفضيلات كل فرد، إلا إننا حريصين علي بذل قصارى جهدنا لمعاملة الجميع معاملة كريمة. + +بغض النظر عن كيفية تعريفك لنفسك أو كيف يتصورك الآخرون: نحن نرحب بك. وعلى الرغم من أنه لا يمكن لأي قائمة أن تكون شاملة، فإننا نكرم بوضوح التنوع في: السن والثقافة والأصل العرقي والوراثي والهوية الجنسية واللغة والأصل القومي وتنوع العصبي والتكوين الظاهري والمعتقد السياسي والمهنة والعرق والديانة والتوجه الجنسي والحالة الاجتماعية الاقتصادية وثقافات الفرعية والقدرات التقنية بما لا يتعارض مع هذه القواعد السلوكية. + +على الرغم من أننا نتقبل الناس بجميع اللغات التي يتقنوها، إلا أن تطوير نمباي يجري باستخدام اللغة الإنجليزية. + +ترد في قواعد السلوكية المذكورة أعلاه تفاصيل معايير السلوك في مجتمع نمباي. وينبغي علي المشاركين في مجتمعنا أن يتمسكوا بهذه المعايير في جميع فعاليتهم وأن يساعدوا الآخرين على القيام بالمثل (انظر الفرع التالي). + +### القواعد الارشادية للإبلاغ + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. وندرك أيضاً أن الناس قد يمرون أحيانا بيوم سيئ أو قد لا يكونون علي دراية ببعض إرشادات القواعد السلوكية. لذا ضع هذا في عين الاعتبار عند اتخاذ القرار بشأن كيفية الرد علي انتهاك هذه القواعد. + +أما بالنسبة للانتهاكات المتعمدة بشكل واضح فيجب إبلاغ لجنة قواعد السلوك عليها (انظر أدناه). في حالة حدوث خروفات غير متعمدة فيمكنك الرد على الشخص المعني والإشارة إلى قواعد السلوك هذه (سواء علناً أو سراً، أينما كان ذلك مناسباً). وإذا كنت تفضل عدم القيام بذلك، فلا تتردد في إبلاغ اللجنة المعنية بقواعد السلوك مباشرة ويمكنك أيضاً طلب المشورة من اللجنة بكل ثقة. + +يمكنك إبلاغ لجنة القواعد السلوكية لنمباي عبر numpy-conduct@googlegroups.com. + +وتتألف اللجنة حاليا مما يلي: + +* ستيفان فان دير والت (Stefan van der Walt) +* ميليسا فيبر ميندونسا (Melissa Weber Mendonça) +* Rohit Goswami + +لو كان بلاغك متورط به أحد أعضاء اللجنة أو إذا كانوا يشعرون بأن لديهم تضارب في المصالح يحدهم عن التعامل معه. أو إذا شعرت بعدم الارتياح لأي سبب من الأسباب لإبلاغ اللجنة ، فبمكانك الاتصال عوضا عن ذلك بفريق NumFOCUS الأعلى على [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### تسوية بلاغات الحوادث & نفاذ القواعد السلوكية + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](report-handling-manual). + +سوف نقوم بالتحقيق في جميع الشكاوى والرد عليها. وستقوم لجنة القواعد السلوكية واللجنة التوجيهية لنمباي (إذا اشتركت) بحماية هوية المبلِّغ وسوف يتم التعامل مع مضمون الشكاوى على أنها سرية (ما لم يوافق المبلغ على غير ذلك). + +في حالة حدوث إخلالات خطيرة وواضحة، مثل التهديد أو العنف الشخصي أو التحيز جنسياً أو عنصرياً، سنقوم على الفور بفصل المقدم عن قنوات الاتصال الخاصة بنمباي؛ يرجى الاطلاع على الدليل للحصول على التفاصيل. + +وفي الحالات التي لا تنطوي على انتهاكات خطيرة وواضحة لقواعد السلوك هذه، تكون عملية التصرف بشأن أي تقرير يرد عن انتهاك القواعد السلوكية علي ما يلي: + +1. الإقرار بتلقي التقرير، +2. مناقشات/ملاحظات معقولة، +3. الوساطة (إذا لم تساعد ردود الفعل، وفقط إذا وافق كل من المبلّغ والمبلّغ على ذلك)، +4. enforcement via transparent decision (see [Resolutions](report-handling-manual/#resolutions)) by the Code of Conduct Committee. + +واللجنة سترد على أي تقرير في أقرب وقت ممكن، وفي الأغلب 72 ساعة على الأكثر. + +### تعليق ختامي + +نحن ممتنون للمجموعات التي تقف وراء الوثائق التالية التي استخلصنا منها المضمون والإلهام: + +- [القواعد السلوكية لسكابي](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/ar/community.md b/content/ar/community.md new file mode 100644 index 0000000000..5034fba239 --- /dev/null +++ b/content/ar/community.md @@ -0,0 +1,66 @@ +--- +title: Community +sidebar: false +--- + +NumPy is a community-driven open source project developed by a diverse group of [contributors](/teams/). The NumPy leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read the [NumPy Code of Conduct](/code-of-conduct) for guidance on how to interact with others in a way that makes the community thrive. + +We offer several communication channels to learn, share your knowledge and connect with others within the NumPy community. + + +## Participate online + +The following are ways to engage directly with the NumPy project and community. _Please note that we encourage users and community members to support each other for usage questions - see [Get Help](/gethelp)._ + + +### [NumPy mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) + +This list is the main forum for longer-form discussions, like adding new features to NumPy, making changes to the NumPy Roadmap, and all kinds of project-wide decision making. Announcements about NumPy, such as for releases, developer meetings, sprints or conference talks are also made on this list. + +On this list please use bottom posting, reply to the list (rather than to another sender), and don't reply to digests. A searchable archive of this list is available [here](https://mail.python.org/archives/list/numpy-discussion@python.org/). + +*** + +### [GitHub issue tracker](https://github.com/numpy/numpy/issues) + +- For bug reports (e.g. "`np.arange(3).shape` returns `(5,)`, when it should return `(3,)`"); +- documentation issues (e.g. "I found this section unclear"); +- and feature requests (e.g. "I would like to have a new interpolation method in `np.percentile`"). + +_Please note that GitHub is not the right place to report a security vulnerability. If you think you have found a security vulnerability in NumPy, please report it [here](https://tidelift.com/docs/security)._ + +*** + +### [Slack](https://numpy-team.slack.com) + +A real-time chat room to ask questions about _contributing_ to NumPy. This is a private space, specifically meant for people who are hesitant to bring up their questions or ideas on a large public mailing list or GitHub. Please see [here](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) for more details and how to get an invite. + + +## Study Groups and Meetups + +If you would like to find a local meetup or study group to learn more about NumPy and the wider ecosystem of Python packages for data science and scientific computing, we recommend exploring the [PyData meetups](https://www.meetup.com/pro/pydata/) (150+ meetups, 100,000+ members). + +NumPy also organizes in-person sprints for its team and interested contributors occasionally. These are typically planned several months in advance and will be announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) and [Twitter](https://twitter.com/numpy_team). + + +## Conferences + +The NumPy project doesn't organize its own conferences. The conferences that have traditionally been most popular with NumPy maintainers, contributors and users are the SciPy and PyData conference series: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (15-20 events a year spread over many countries) + +Many of these conferences include tutorial days that cover NumPy and/or sprints where you can learn how to contribute to NumPy or related open source projects. + + +## Join the NumPy community + +To thrive, the NumPy project needs your expertise and enthusiasm. Not a coder? Not a problem! There are many ways to contribute to NumPy. + +If you are interested in becoming a NumPy contributor (yay!) we recommend checking out our [Contribute](/contribute) page. + +Also, feel free to stop by and say hi at one of our community meetings. To keep track of them, check out our events calendar [here](https://scientific-python.org/calendars/). diff --git a/content/ar/config.yaml b/content/ar/config.yaml new file mode 100644 index 0000000000..c137cdb184 --- /dev/null +++ b/content/ar/config.yaml @@ -0,0 +1,137 @@ +languageName: English +params: + description: Why NumPy? Powerful n-dimensional arrays. Numerical computing tools. Interoperable. Performant. Open source. + navbarlogo: + image: logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: The fundamental package for scientific computing with Python + #Button text + buttontext: "Latest release: NumPy 2.0. View all releases" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: placeholder + intro: + - + title: Try NumPy + text: Use the interactive shell to try NumPy in the browser + docslink: Don't forget to check out the docs. + casestudies: + title: CASE STUDIES + features: + - + title: First Image of a Black Hole + text: How NumPy, together with libraries like SciPy and Matplotlib that depend on NumPy, enabled the Event Horizon Telescope to produce the first ever image of a black hole + img: /images/content_images/case_studies/blackhole.png + alttext: First image of a black hole. It is an orange circle in a black background. + url: /case-studies/blackhole-image + - + title: Detection of Gravitational Waves + text: In 1916, Albert Einstein predicted gravitational waves; 100 years later their existence was confirmed by LIGO scientists using NumPy. + img: /images/content_images/case_studies/gravitional.png + alttext: Two orbs orbiting each other. They are displacing gravity around them. + url: /case-studies/gw-discov + - + title: Sports Analytics + text: Cricket Analytics is changing the game by improving player and team performance through statistical modelling and predictive analytics. NumPy enables many of these analyses. + img: /images/content_images/case_studies/sports.jpg + alttext: Cricket ball on green field. + url: /case-studies/cricket-analytics + - + title: Pose Estimation using deep learning + text: DeepLabCut uses NumPy for accelerating scientific studies that involve observing animal behavior for better understanding of motor control, across species and timescales. + img: /images/content_images/case_studies/deeplabcut.png + alttext: Cheetah pose analysis + url: /case-studies/deeplabcut-dnn + tabs: + title: ECOSYSTEM + section5: false + navbar: + - + title: Install + url: /install + - + title: Documentation + url: https://numpy.org/doc/stable + - + title: Learn + url: /learn + - + title: Community + url: /community + - + title: About Us + url: /about + - + title: الأخبار + url: /news + - + title: Contribute + url: /contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: Install + link: /install + - + text: Documentation + link: https://numpy.org/doc/stable + - + text: Learn + link: /learn + - + text: Citing Numpy + link: /citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /about + - + text: Community + link: /community + - + text: User surveys + link: /user-surveys + - + text: Contribute + link: /contribute + - + text: Code of conduct + link: /code-of-conduct + column3: + links: + - + text: Get help + link: /gethelp + - + text: Terms of use + link: /terms + - + text: Privacy + link: /privacy + - + text: Press kit + link: /press-kit diff --git a/content/ar/contribute.md b/content/ar/contribute.md new file mode 100644 index 0000000000..870c960c13 --- /dev/null +++ b/content/ar/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribute to NumPy +sidebar: false +--- + +The NumPy project welcomes your expertise and enthusiasm! Your choices aren't limited to programming, as you can see below there are many areas where we need **your** help. + +If you're unsure where to start or how your skills fit in, _reach out!_ You can ask on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) or [GitHub](http://github.com/numpy/numpy) (open an [issue](https://github.com/numpy/numpy/issues) or comment on a relevant issue). + +Those are our preferred channels (open source is open by nature), but if you prefer to talk privately, contact our community coordinators at or on [Slack](https://numpy-team.slack.com) (write for an invite). + +We also have a biweekly _community call_, details of which are announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion). You are very welcome to join. If you are new to contributing to open source, we also highly recommend reading [this guide](https://opensource.guide/how-to-contribute/). + +Our community aspires to treat everyone equally and to value all contributions. We have a [Code of Conduct](/code-of-conduct) to foster an open and welcoming environment. + +### Writing code + +Programmers, this [guide](https://numpy.org/devdocs/dev/index.html#development-process-summary) explains how to contribute to the NumPy codebase.
Check out also our [YouTube channel](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) for additional advice. + +### Reviewing pull requests +The project has more than 250 open pull requests -- meaning many potential improvements and many open-source contributors waiting for feedback. If you're a developer who knows NumPy, you can help even if you're not familiar with the codebase. You can: +* summarize a long-running discussion +* triage documentation PRs +* test proposed changes + +### Developing educational materials + +NumPy's [User Guide](https://numpy.org/devdocs) is undergoing rehabilitation. We're in need of new tutorials, how-to's, and deep-dive explanations, and the site needs restructuring. Opportunities aren't limited to writers. We'd also welcome worked examples, notebooks, and videos. [NEP 44 — Restructuring the NumPyDocumentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) lays out our ideas -- and you may have others. + +### Issue triaging + +The [NumPy issue tracker](https://github.com/numpy/numpy/issues) has a _lot_ of open issues. Some are no longer valid, some should be prioritized, and some would make good issues for new contributors. You can: + +* check if older bugs are still present +* find duplicate issues and link related ones +* add good self-contained reproducers to issues +* label issues correctly (this requires triage rights -- just ask) + +Please just dive in. + +### Website development + +We've just revamped our website, but we're far from done. If you love web development, these [issues](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) list some of our unmet needs -- and feel free to share your own ideas. + +### Graphic design + +We can barely begin to list the contributions a graphic designer can make here. Our docs are parched for illustration; our growing website craves images -- opportunities abound. + +### Translating website content + +We plan multiple translations of [numpy.org](https://numpy.org) to make NumPy accessible to users in their native language. Volunteer translators are at the heart of this effort. See [here](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) for background; comment on [this GitHub issue](https://github.com/numpy/numpy.org/issues/55) to sign up. + +### Community coordination and outreach + +Through community contact we share our work more widely and learn where we're falling short. We're eager to get more people involved in efforts like our [Twitter](https://twitter.com/numpy_team) account, organizing NumPy [code sprints](https://scisprints.github.io/), a newsletter, and perhaps a blog. + +### Fundraising + +For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. [This SciPy'19 talk](https://www.youtube.com/watch?v=dBTJD_FDVjU) explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here -- we'd appreciate your help. + +### التبرع + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/ar/gethelp.md b/content/ar/gethelp.md new file mode 100644 index 0000000000..8ae9694d3f --- /dev/null +++ b/content/ar/gethelp.md @@ -0,0 +1,20 @@ +--- +title: الحصول على مساعدة +sidebar: false +--- + +**Development issues:** For NumPy development-related matters (e.g., bug reports), please see [Community](/community). + +**User questions:** The best way to get help is to post your question to a site like [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) or [Reddit](https://www.reddit.com/r/Numpy/). We wish we could keep an eye on these sites, or answer questions directly, but the volume is a little overwhelming! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +منتدى لطرح أسئلة الاستخدام مثل" كيف أستطيع أن أفعل x في نمباي؟". برجاء [استخدم `#numpy` tag](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +منتدى آخر لأسئلة الاستخدام. + +*** diff --git a/content/ar/history.md b/content/ar/history.md new file mode 100644 index 0000000000..70b3c5f8bd --- /dev/null +++ b/content/ar/history.md @@ -0,0 +1,21 @@ +--- +title: تاريخ مشروع NumPy +sidebar: false +--- + +مشروع NumPy هو مكتبة تأسيسية للغة البايثون يوفر هياكل بيانات المصفوفات وما يتصل بها من إجراءات رقمية سريعة. لم تمول المكتبة في البداية إلا بالقليل، وكتبها طلبة الدراسات العليا بشكل أساسي وكان الكثير منهم ليسوا بدارسي علوم الحاسوب ولا حاصلين على موافقة أو تشجيع مستشاريهم. To even imagine that a small group of “rogue” student programmers could upend the already well-established ecosystem of research software—backed by millions in funding and many hundreds of highly qualified engineers — was preposterous. Yet, the philosophical motivations behind a fully open tool stack, in combination with the excited, friendly community with a singular focus, have proven auspicious in the long run. Nowadays, NumPy is relied upon by scientists, engineers, and many other professionals around the world. For example, the published scripts used in the analysis of gravitational waves import NumPy, and the M87 black hole imaging project directly cites NumPy. + +For the in-depth account on milestones in the development of NumPy and related libraries please see [arxiv.org](https://arxiv.org/abs/1907.10121). + +إذا كنت ترغب في الحصول على نسخة من مكتبة القياسية Numeric و Numarray الأصلية، فاتبع الروابط التالية: + +[Download Page for *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[Download Page for *Numarray*](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*يرجى ملاحظة أن حزم المصفوفات القديمة هذه لم تعد محفوظة، وننصح المستخدمين بشدة باستخدام NumPy لأي أغراض متعلقة بالمصفوفات أو إعادة هيكلة أي كود موجود مسبقًا لاستخدام مكتبة NumPy. + +### الوثائق التاريخية + +[Download *`Numeric'* Manual](static/numeric-manual.pdf) + diff --git a/content/ar/install.md b/content/ar/install.md new file mode 100644 index 0000000000..f64a17841d --- /dev/null +++ b/content/ar/install.md @@ -0,0 +1,126 @@ +--- +title: Installing NumPy +sidebar: false +--- + +The only prerequisite for installing NumPy is Python itself. If you don't have Python yet and want the simplest way to get started, we recommend you use the [Anaconda Distribution](https://www.anaconda.com/download) - it includes Python, NumPy, and many other commonly used packages for scientific computing and data science. + +NumPy can be installed with `conda`, with `pip`, with a package manager on macOS and Linux, or [from source](https://numpy.org/devdocs/building). For more detailed instructions, consult our [Python and NumPy installation guide](#python-numpy-install-guide) below. + +**CONDA** + +If you use `conda`, you can install NumPy from the `defaults` or `conda-forge` channels: + +```bash +# Best practice, use an environment rather than install in the base env +conda create -n my-env +conda activate my-env +# If you want to install from conda-forge +conda config --env --add channels conda-forge +# The actual install command +conda install numpy +``` + +**PIP** + +If you use `pip`, you can install NumPy with: + +```bash +pip install numpy +``` +Also when using pip, it's good practice to use a virtual environment - see [Reproducible Installs](#reproducible-installs) below for why, and [this guide](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) for details on using virtual environments. + + + + +# Python and NumPy installation guide + +Installing and managing packages in Python is complicated, there are a number of alternative solutions for most tasks. This guide tries to give the reader a sense of the best (or most popular) solutions, and give clear recommendations. It focuses on users of Python, NumPy, and the PyData (or numerical computing) stack on common operating systems and hardware. + +## Recommendations + +We'll start with recommendations based on the user's experience level and operating system of interest. If you're in between "beginning" and "advanced", please go with "beginning" if you want to keep things simple, and with "advanced" if you want to work according to best practices that go a longer way in the future. + +### Beginning users + +On all of Windows, macOS, and Linux: + +- Install [Anaconda](https://www.anaconda.com/download) (it installs all packages you need and all other tools mentioned below). +- For writing and executing code, use notebooks in [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) for exploratory and interactive computing, and [Spyder](https://www.spyder-ide.org/) or [Visual Studio Code](https://code.visualstudio.com/) for writing scripts and packages. +- Use [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) to manage your packages and start JupyterLab, Spyder, or Visual Studio Code. + + +### Advanced users + +#### Conda + +- Install [Miniforge](https://github.com/conda-forge/miniforge). +- Keep the `base` conda environment minimal, and use one or more [conda environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) to install the package you need for the task or project you're working on. + +#### Alternative if you prefer pip/PyPI + +For users who know, from personal preference or reading about the main differences between conda and pip below, they prefer a pip/PyPI-based solution, we recommend: +- Install Python from [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/), or your Linux package manager. +- Use [Poetry](https://python-poetry.org/) as the most well-maintained tool that provides a dependency resolver and environment management capabilities in a similar fashion as conda does. + + +## Python package management + +Managing packages is a challenging problem, and, as a result, there are lots of tools. For web and general purpose Python development there's a whole [host of tools](https://packaging.python.org/guides/tool-recommendations/) complementary with pip. For high-performance computing (HPC), [Spack](https://github.com/spack/spack) is worth considering. For most NumPy users though, [conda](https://conda.io/en/latest/) and [pip](https://pip.pypa.io/en/stable/) are the two most popular tools. + + +### Pip & conda + +The two main tools that install Python packages are `pip` and `conda`. Their functionality partially overlaps (e.g. both can install `numpy`), however, they can also work together. We'll discuss the major differences between pip and conda here - this is important to understand if you want to manage packages effectively. + +The first difference is that conda is cross-language and it can install Python, while pip is installed for a particular Python on your system and installs other packages to that same Python install only. This also means conda can install non-Python libraries and tools you may need (e.g. compilers, CUDA, HDF5), while pip can't. + +The second difference is that pip installs from the Python Packaging Index (PyPI), while conda installs from its own channels (typically "defaults" or "conda-forge"). PyPI is the largest collection of packages by far, however, all popular packages are available for conda as well. + +The third difference is that conda is an integrated solution for managing packages, dependencies and environments, while with pip you may need another tool (there are many!) for dealing with environments or complex dependencies. + + + +### Reproducible installs + +As libraries get updated, results from running your code can change, or your code can break completely. It's important to be able to reconstruct the set of packages and versions you're using. Best practice is to: + +1. use a different environment per project you're working on, +2. record package names and versions using your package installer; each has its own metadata format for this: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [virtual environments](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy packages & accelerated linear algebra libraries + +NumPy doesn't depend on any other Python packages, however, it does depend on an accelerated linear algebra library - typically [Intel MKL](https://software.intel.com/en-us/mkl) or [OpenBLAS](https://www.openblas.net/). Users don't have to worry about installing those (they're automatically included in all NumPy install methods). Power users may still want to know the details, because the used BLAS can affect performance, behavior and size on disk: + +- The NumPy wheels on PyPI, which is what pip installs, are built with OpenBLAS. The OpenBLAS libraries are included in the wheel. This makes the wheel larger, and if a user installs (for example) SciPy as well, they will now have two copies of OpenBLAS on disk. + +- In the conda defaults channel, NumPy is built against Intel MKL. MKL is a separate package that will be installed in the users' environment when they install NumPy. + +- In the conda-forge channel, NumPy is built against a dummy "BLAS" package. When a user installs NumPy from conda-forge, that BLAS package then gets installed together with the actual library - this defaults to OpenBLAS, but it can also be MKL (from the defaults channel), or even [BLIS](https://github.com/flame/blis) or reference BLAS. + +- The MKL package is a lot larger than OpenBLAS, it's about 700 MB on disk while OpenBLAS is about 30 MB. + +- MKL is typically a little faster and more robust than OpenBLAS. + +Besides install sizes, performance and robustness, there are two more things to consider: + +- Intel MKL is not open source. For normal use this is not a problem, but if a user needs to redistribute an application built with NumPy, this could be an issue. +- Both MKL and OpenBLAS will use multi-threading for function calls like `np.dot`, with the number of threads being determined by both a build-time option and an environment variable. Often all CPU cores will be used. This is sometimes unexpected for users; NumPy itself doesn't auto-parallelize any function calls. It typically yields better performance, but can also be harmful - for example when using another level of parallelization with Dask, scikit-learn or multiprocessing. + + +## Troubleshooting + +If your installation fails with the message below, see [Troubleshooting ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html). + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for +different reasons, often due to issues with your setup. +``` + diff --git a/content/ar/learn.md b/content/ar/learn.md new file mode 100644 index 0000000000..2aad7efd00 --- /dev/null +++ b/content/ar/learn.md @@ -0,0 +1,76 @@ +--- +title: Learn +sidebar: false +--- + +للحصول على وثائق مشروع نمباى الرسمية عليك بزيارة[numpy.org/doc/stable](https://numpy.org/doc/stable). + +*** + +Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community. + +## للمبتدئين + +يوجد الكثير من المعلومات حول مشروع نمباي هناك. If you are just starting, we'd strongly recommend the following: + + **المحتوى التعليمي** + +* [دروس Quickstart](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). +* [توضيح لنمباي: الدليل المرئي لمشروع نمباي *من قبل ليف ماكسيموف*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://lectures.scientific-python.org/) Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem. +* [نمباى: الأساسيات الثابتة للمبتدئين](https://numpy.org/devdocs/user/absolute_beginners.html) +* [برنامج نمباي التعليمي *من قبل نيكولاس روجير*](https://github.com/rougier/numpy-tutorial) +* [CS231 لجامعة ستانفورد*من قبل جاستين جونسون*](http://cs231n.github.io/python-numpy-tutorial/) +* [دليل استخدام نمباي](https://numpy.org/devdocs) + + **الكتب** + +* [Guide to NumPy *by Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) This is a free version 1 from 2006. For the latest copy (2015) see [here](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1144670472). +* [من لغة البرمجة بايثون إلى نمباى * ل نيكولاس ب. روجير*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [محاضرات SciPy ممتازة](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877)*> لكلا من خوان نونيز إغليسياس وستيفان فان دير والت بالإضافة إلى هارييت داشنوف* + +You may also want to check out the [Goodreads list](https://www.goodreads.com/shelf/show/python-scipy) on the subject of "Python+SciPy." Most books there are about the "SciPy ecosystem," which has NumPy at its core. + + **الفيديو** + +* [مقدمة للحوسبة الرقمية مع نمباى ](http://youtu.be/ZB7BZMhfPgk) *أليكساندر شابوت لوكلير* + +*** + +## خيارات متقدمة + +لفهم أفضل لمفاهيم مشروع نمباى جرب هذة المصادر المتطورة مثل الفهرسة المتقدمة و والتقسيم والتكامل والجبر الخطى و.. إلخ. + + **المحتوى التعليمي** + +* [100 تمرين لنمباى](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) * لنيكولاس بي روجير* +* [مقدمة لنمباى وScipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) * ل ام سكوت شيل* +* [حقيبة نمباى للإسعافات الأولية ](http://mentat.za.net/numpy/numpy_advanced_slides/) *ل ستيفين فان دير واليت* +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). + + **الكتب** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1098121228) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X) *by Wes McKinney* +* [الحوسبة العلمية بلغة البايثون: تطبيقات باستخدام نمباى وSciPy ومكتبة Matplotlib المُختصة بالإظهار المرئي للبيانات للحوسبة العلمية وتحليل البيانات](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) * من قبل روبرت جونسون* + + **الفيديو** + +* [خيارات نمباي المتقدمة - قواعد البث والمسارات والفهرسة المتقدمة](https://www.youtube.com/watch?v=cYugp9IN1-Q) * لخوان نونيز إغليسياس* + +*** + +## مناقشات نمباى + +* [مستقبل فهرسة نمباى](https://www.youtube.com/watch?v=o0EacbIbf58) * ل جيمي فيرنانديز*(2016) +* [تطور حوسبة المصفوفات بلغة البايثون](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) * بواسطة رالف غومرس*(2019) +* [نمباى: إلى أى مدى تغير نمباى وما هى التغييرات المستقبلية له؟](https://www.youtube.com/watch?v=YFLVQFjRmPY) *ل ماتى بيكاس* (2019) +* [محتوى نمباى](https://www.youtube.com/watch?v=dBTJD_FDVjU) *بواسطة رالف غومرس وسيباستيان بيرغ وماتى بيكاس وتايلر ريدي وستيفان فان دير والت وتشارلز هاريس* (2019) +* [مراجعة موجزة لحوسبة المصفوفات بلغة البايثون ](https://www.youtube.com/watch?v=f176j2g2eNc) *لترافيس أوليفانت* (2019) + +*** + +## الاستشهاد بنمباي + +إذا كان لنمباى دور كبير فى بحثك وتود الإشارة إليه فى منشورك الأكاديمى،فيرجى الاطلاع على[ معلومات الاستشهاد هذة](/citing-numpy). diff --git a/content/ar/news.md b/content/ar/news.md new file mode 100644 index 0000000000..9c3e3c0963 --- /dev/null +++ b/content/ar/news.md @@ -0,0 +1,307 @@ +--- +title: الأخبار +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2024-08-18 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0.0 released + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 release date: June 16 + +_23 May, 2024_ -- We are excited to announce that NumPy 2.0 is planned to be released on June 16, 2024. This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains **breaking changes** to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy `2.0.0rc2`. **Please see the following for more details:** + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUS end of the year fundraiser +_Dec 19, 2023_ -- NumFOCUS has teamed up with PyCharm during their EOY campaign to offer a 30% discount on first-time PyCharm licenses. All year-one revenue from PyCharm purchases from now until December 23rd, 2023 will go directly to the NumFOCUS programs. + +Use unique URL that will allow to track purchases https://lp.jetbrains.com/support-data-science/ or a coupon code ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 released + +_Sep 16, 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) is now available. The highlights of the release are: + +* Python 3.12.0 support. +* Cython 3.0.0 compatibility. +* Use of the Meson build system +* Updated SIMD support +* f2py fixes, meson and bind(x) support +* Support for the updated Accelerate BLAS/LAPACK library + +The NumPy 1.26.0 release is a continuation of the 1.25.x series that marks the transition to the Meson build system and provision of support for Cython 3.0.0. A total of 20 people contributed to this release and 59 pull requests were merged. + +The Python versions supported by this release are 3.9-3.12. + +### numpy.org is now available in Japanese and Portuguese + +_Aug 2, 2023_ -- numpy.org is now available in 2 additional languages: Japanese and Portuguese. This wouldn’t be possible without our dedicated volunteers: + +_Portuguese:_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japanese:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +The work on the translation infrastructure is supported with funding from CZI. + +Looking ahead, we’d love to translate the website into more languages. If you’d like to help, please connect with the NumPy Translations Team on Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Look for the #translations channel.) We are also building a Translations Team who will be working on localizing documentation and educational content across the Scientific Python ecosystem. If this piqued your interest, join us on the Scientific Python Discord: https://discord.gg/khWtqY6RKr. (Look for the #translation channel.) + +### NumPy 1.25.0 released + +_Jun 17, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) is now available. The highlights of the release are: + +* Support for MUSL, there are now MUSL wheels. +* Support for the Fujitsu C/C++ compiler. +* Object arrays are now supported in einsum. +* Support for the inplace matrix multiplication (`@=`). + +The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been preparatory work for the future NumPy 2.0.0, resulting in a large number of new and expired deprecations. + +A total of 148 people contributed to this release and 530 pull requests were merged. + +The Python versions supported by this release are 3.9-3.11. + +### Fostering an Inclusive Culture: Call for Participation + +_May 10, 2023_ -- Fostering an Inclusive Culture: Call for Participation + +How can we be better when it comes to diversity and inclusion? Read the report and find out how to get involved [here](https://contributor-experience.org/docs/posts/dei-report/). + +### NumPy documentation team leadership transition + +_Jan 6, 2023_ –- Mukulika Pahari and Ross Barnowski are appointed as the new NumPy documentation team leads replacing Melissa Mendonça. We thank Melissa for all her contributions to the NumPy official documentation and educational materials, and Mukulika and Ross for stepping up. + +### NumPy 1.24.0 released + +_Dec 18, 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) is now available. The highlights of the release are: + +* New "dtype" and "casting" keywords for stacking functions. +* New F2PY features and fixes. +* Many new deprecations, check them out. +* Many expired deprecations, + +The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase execution speed, and clarify the documentation. There are a large number of new and expired deprecations due to changes in dtype promotion and cleanups. It is the work of 177 contributors spread over 444 pull requests. The supported Python versions are 3.8-3.11. + +### Numpy 1.23.0 released + +_Jun 22, 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) is now available. The highlights of the release are: + +* Implementation of `loadtxt` in C, greatly improving its performance. +* Exposure of DLPack at the Python level for easy data exchange. +* Changes to the promotion and comparisons of structured dtypes. +* Improvements to f2py. + +The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. It is the work of 151 contributors spread over 494 pull requests. The Python versions supported by this release 3.8-3.10. Python 3.11 will be supported when it reaches the rc stage. + +### NumFOCUS DEI research study: call for participation + +_Apr 13, 2022_ -- NumPy is working with [NumFOCUS](http://numfocus.org/) on a [research project](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) funded by the [Gordon & Betty Moore Foundation](https://www.moore.org/) to understand the barriers to participation that contributors, particularly those from historically underrepresented groups, face in the open-source software community. The research team would like to talk to new contributors, project developers and maintainers, and those who have contributed in the past about their experiences joining and contributing to NumPy. + +**Interested in sharing your experiences?** + +Please complete this brief [“Participant Interest” form](https://numfocus.typeform.com/to/WBWVJSqe) which contains additional information on the research goals, privacy, and confidentiality considerations. Your participation will be valuable to the growth and sustainability of diverse and inclusive open-source software communities. Accepted participants will participate in a 30-minute interview with a research team member. + +### Numpy 1.22.0 release + +_Dec 31, 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) is now available. The highlights of the release are: + +* Type annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release. +* A preliminary version of the proposed [array API Standard](https://data-apis.org/array-api/latest/) is provided (see [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). This is a step in creating a standard collection of functions that can be used across libraries such as CuPy and JAX. +* NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data. +* New methods for `quantile`, `percentile`, and related functions. The new methods provide a complete set of the methods commonly found in the literature. +* The universal functions have been refactored to implement most of [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html). This also unlocks the ability to experiment with the future DType API. +* A new configurable memory allocator for use by downstream projects. + +NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. The Python versions supported by this release are 3.8-3.10. + +### Advancing an inclusive culture in the scientific Python ecosystem + +_August 31, 2021_ -- We are happy to announce the Chan Zuckerberg Initiative has [awarded a grant](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) to support the onboarding, inclusion, and retention of people from historically marginalized groups on scientific Python projects, and to structurally improve the community dynamics for NumPy, SciPy, Matplotlib, and Pandas. + +As a part of [CZI's Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/), this [Diversity & Inclusion supplemental grant](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) will support the creation of dedicated Contributor Experience Lead positions to identify, document, and implement practices to foster inclusive open-source communities. This project will be led by Melissa Mendonça (NumPy), with additional mentorship and guidance provided by Ralf Gommers (NumPy, SciPy), Hannah Aizenman and Thomas Caswell (Matplotlib), Matt Haberland (SciPy), and Joris Van den Bossche (Pandas). + +This is an ambitious project aiming to discover and implement activities that should structurally improve the community dynamics of our projects. By establishing these new cross-project roles, we hope to introduce a new collaboration model to the Scientific Python communities, allowing community-building work within the ecosystem to be done more efficiently and with greater outcomes. We also expect to develop a clearer picture of what works and what doesn't in our projects to engage and retain new contributors, especially from historically underrepresented groups. Finally, we plan on producing detailed reports on the actions executed, explaining how they have impacted our projects in terms of representation and interaction with our communities. + +The two-year project is expected to start by November 2021, and we are excited to see the results from this work! [You can read the full proposal here](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### 2021 NumPy survey + +_July 12, 2021_ -- At NumPy, we believe in the power of our community. 1,236 NumPy users from 75 countries participated in our inaugural survey last year. The survey findings gave us a very good understanding of what we should focus on for the next 12 months. + +It’s time for another survey, and we are counting on you once again. It will take about 15 minutes of your time. Besides English, the survey questionnaire is available in 8 additional languages: Bangla, French, Hindi, Japanese, Mandarin, Portuguese, Russian, and Spanish. + +Follow the link to get started: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Numpy 1.21.0 release + +_Jun 23, 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) is now available. The highlights of the release are: + +- continued SIMD work covering more functions and platforms, +- initial work on the new dtype infrastructure and casting, +- universal2 wheels for Python 3.8 and Python 3.9 on Mac, +- improved documentation, +- improved annotations, +- new `PCG64DXSM` bitgenerator for random numbers. + +This NumPy release is the result of 581 merged pull requests contributed by 175 people. The Python versions supported for this release are 3.7-3.9, support for Python 3.10 will be added after Python 3.10 is released. + + +### 2020 NumPy survey results + +_Jun 22, 2021_ -- In 2020, the NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results here: https://numpy.org/user-survey-2020/. + + +### Numpy 1.20.0 release + +_Jan 30, 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) is now available. This is the largest NumPy release to date, thanks to 180+ contributors. The two most exciting new features are: +- Type annotations for large parts of NumPy, and a new `numpy.typing` submodule containing `ArrayLike` and `DtypeLike` aliases that users and downstream libraries can use when adding type annotations in their own code. +- Multi-platform SIMD compiler optimizations, with support for x86 (SSE, AVX), ARM64 (Neon), and PowerPC (VSX) instructions. This yielded significant performance improvements for many functions (examples: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversity in the NumPy project + +_Sep 20, 2020_ -- We wrote a [statement on the state of, and discussion on social media around, diversity and inclusion in the NumPy project](/diversity_sep2020). + + +### First official NumPy paper published in Nature! + +_Sep 16, 2020_ -- We are pleased to announce the publication of [the first official paper on NumPy](https://www.nature.com/articles/s41586-020-2649-2) as a review article in Nature. This comes 14 years after the release of NumPy 1.0. The paper covers applications and fundamental concepts of array programming, the rich scientific Python ecosystem built on top of NumPy, and the recently added array protocols to facilitate interoperability with external array and tensor libraries like CuPy, Dask, and JAX. + + +### Python 3.9 is coming, when will NumPy release binary wheels? + +_Sept 14, 2020_ -- Python 3.9 will be released in a few weeks. If you are an early adopter of Python versions, you may be dissapointed to find that NumPy (and other binary packages like SciPy) will not have binary wheels ready on the day of the release. It is a major effort to adapt the build infrastructure to a new Python version and it typically takes a few weeks for the packages to appear on PyPI and conda-forge. In preparation for this event, please make sure to +- update your `pip` to version 20.1 at least to support `manylinux2010` and `manylinux2014` +- use [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) or `--only-binary=:all:` to prevent `pip` from trying to build from source. + + +### Numpy 1.19.2 release + +_Sep 10, 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) is now available. This latest release in the 1.19 series fixes several bugs, prepares for the [upcoming Cython 3.x release](http://docs.cython.org/en/latest/src/changes.html) and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros. + +### The inaugural NumPy survey is live! + +_Jul 2, 2020_ -- This survey is meant to guide and set priorities for decision-making about the development of NumPy as software and as a community. The survey is available in 8 additional languages besides English: Bangla, Hindi, Japanese, Mandarin, Portuguese, Russian, Spanish and French. + +Please help us make NumPy better and take the survey [here](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy has a new logo! + +_Jun 24, 2020_ -- NumPy now has a new logo: + +NumPy logo + +The logo is a modern take on the old one, with a cleaner design. Thanks to Isabela Presedo-Floyd for designing the new logo, as well as to Travis Vaught for the old logo that served us well for 15+ years. + + +### NumPy 1.19.0 release + +_Jun 20, 2020_ -- NumPy 1.19.0 is now available. This is the first release without Python 2 support, hence it was a "clean-up release". The minimum supported Python version is now Python 3.6. An important new feature is that the random number generation infrastructure that was introduced in NumPy 1.17.0 is now accessible from Cython. + + +### Season of Docs acceptance + +_May 11, 2020_ -- NumPy has been accepted as one of the mentor organizations for the Google Season of Docs program. We are excited about the opportunity to work with a technical writer to improve NumPy's documentation once again! For more details, please see [the official Season of Docs site](https://developers.google.com/season-of-docs/) and our [ideas page](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### NumPy 1.18.0 release + +_Dec 22, 2019_ -- NumPy 1.18.0 is now available. After the major changes in 1.17.0, this is a consolidation release. It is the last minor release that will support Python 3.5. Highlights of the release includes the addition of basic infrastructure for linking with 64-bit BLAS and LAPACK libraries, and a new C-API for `numpy.random`. + +Please see the [release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0) for more details. + + +### NumPy receives a grant from the Chan Zuckerberg Initiative + +_Nov 15, 2019_ -- We are pleased to announce that NumPy and OpenBLAS, one of NumPy's key dependencies, have received a joint grant for $195,000 from the Chan Zuckerberg Initiative through their [Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/) that supports software maintenance, growth, development, and community engagement for open source tools critical to science. + +This grant will be used to ramp up the efforts in improving NumPy documentation, website redesign, and community development to better serve our large and rapidly growing user base, and ensure the long-term sustainability of the project. While the OpenBLAS team will focus on addressing sets of key technical issues, in particular thread-safety, AVX-512, and thread-local storage (TLS) issues, as well as algorithmic improvements in ReLAPACK (Recursive LAPACK) on which OpenBLAS depends. + +More details on our proposed initiatives and deliverables can be found in the [full grant proposal](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). The work is scheduled to start on Dec 1st, 2019 and continue for the next 12 months. + + + + +## الإصدارات + +Here is a list of NumPy releases, with links to release notes. Bugfix releases (only the `z` changes in the `x.y.z` version number) have no new features; minor releases (the `y` increases) do. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 Feb 2024_. +- NumPy 1.26.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 Jan 2024_. +- NumPy 1.26.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 Nov 2023_. +- NumPy 1.26.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 Oct 2023_. +- NumPy 1.26.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 Sep 2023_. +- NumPy 1.25.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 Jul 2023_. +- NumPy 1.25.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 Jul 2023_. +- NumPy 1.24.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 Jun 2023_. +- NumPy 1.25.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 Jun 2023_. +- NumPy 1.24.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 Apr 2023_. +- NumPy 1.24.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 Feb 2023_. +- NumPy 1.24.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 Dec 2022_. +- NumPy 1.24.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 Dec 2022_. +- NumPy 1.23.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _19 Nov 2022_. +- NumPy 1.23.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 Oct 2022_. +- NumPy 1.23.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 Sep 2022_. +- NumPy 1.23.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 Aug 2022_. +- NumPy 1.23.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 Jul 2022_. +- NumPy 1.23.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 Jun 2022_. +- NumPy 1.22.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 May 2022_. +- NumPy 1.21.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 Apr 2022_. +- NumPy 1.22.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 Mar 2022_. +- NumPy 1.22.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 Feb 2022_. +- NumPy 1.22.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 Jan 2022_. +- NumPy 1.22.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _31 Dec 2021_. +- NumPy 1.21.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _19 Dec 2021_. +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 Jun 2021_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 May 2021_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 Jan 2021_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 Jan 2021_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 Jun 2020_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 May 2020_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 Jan 2020_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 Dec 2019_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 Jul 2019_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 Jul 2018_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 Jan 2018_. diff --git a/content/ar/press-kit.md b/content/ar/press-kit.md new file mode 100644 index 0000000000..92343fd4b0 --- /dev/null +++ b/content/ar/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press kit +sidebar: false +--- + +نرحب بتسهيل إدراج مشروع نمباى عليك سواء فى بحثك الأكاديمى أو كمادة دراسية أو كعرض. + +سوف تجد عدة إصدارات عالية الدقة من شعار الأرقام [هنا](https://github.com/numpy/numpy/tree/main/branding/logo). وعليك أن تلاحظ أنه باستخدام موارد numpy.org فأنت توافق على[ قواعد السلوك لنمباى](/code-of-conduct). diff --git a/content/ar/privacy.md b/content/ar/privacy.md new file mode 100644 index 0000000000..93c6c713df --- /dev/null +++ b/content/ar/privacy.md @@ -0,0 +1,8 @@ +--- +title: سياسة الخصوصية +sidebar: false +--- + +**numpy.org** يتم تشغيلة بواسطة [NumFOCUS, Inc.](https://numfocus.org), الراعى المالى لمشروع نمباى. للوصول إلى سياسة الخصوصية لهذا الموقع برجاء زيارة https://numfocus.org/privacy-policy. + +إذا كان لديك أسئلة بخصوص سياسة أو جمع بيانات NumFOCUS واستخدامها بالإضافة إلى ممارسات الإفصاح، يرجى الاتصال بموظفى NumFOCUS على موقع privacy@numfocus.org. diff --git a/content/ar/report-handling-manual.md b/content/ar/report-handling-manual.md new file mode 100644 index 0000000000..c94be4486f --- /dev/null +++ b/content/ar/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: قواعد السلوك لنمباي - كيفية متابعة تقرير +sidebar: false +--- + +This is the manual followed by NumPy’s Code of Conduct Committee. It’s used when we respond to an issue to make sure we’re consistent and fair. + +Enforcing the [Code of Conduct](/code-of-conduct) impacts our community today and for the future. It’s an action that we do not take lightly. When reviewing enforcement measures, the Code of Conduct Committee will keep the following values and guidelines in mind: + +* Act in a personal manner rather than impersonal. The Committee can engage the parties to understand the situation while respecting the privacy and any necessary confidentiality of reporters. However, sometimes it is necessary to communicate with one or more individuals directly: the Committee’s goal is to improve the health of our community rather than only produce a formal decision. +* Emphasize empathy for individuals rather than judging behavior, avoiding binary labels of “good” and “bad/evil”. Overt, clear-cut aggression and harassment exist, and we will address them firmly. But many scenarios that can prove challenging to resolve are those where normal disagreements devolve into unhelpful or harmful behavior from multiple parties. Understanding the full context and finding a path that re-engages all is hard, but ultimately the most productive for our community. +* We understand that email is a difficult medium and can be isolating. Receiving criticism over email, without personal contact, can be particularly painful. This makes it especially important to keep an atmosphere of open-minded respect for the views of others. It also means that we must be transparent in our actions, and that we will do everything in our power to make sure that all our members are treated fairly and with sympathy. +* Discrimination can be subtle and it can be unconscious. It can show itself as unfairness and hostility in otherwise ordinary interactions. We know that this does occur, and we will take care to look out for it. We would very much like to hear from you if you feel you have been treated unfairly, and we will use these procedures to make sure that your complaint is heard and addressed. +* Help increase engagement in good discussion practice: try to identify where discussion may have broken down, and provide actionable information, pointers, and resources that can lead to positive change on these points. +* Be mindful of the needs of new members: provide them with explicit support and consideration, with the aim of increasing participation from underrepresented groups in particular. +* Individuals come from different cultural backgrounds and native languages. Try to identify any honest misunderstandings caused by a non-native speaker and help them understand the issue and what they can change to avoid causing offence. Complex discussion in a foreign language can be very intimidating, and we want to grow our diversity also across nationalities and cultures. + + +## Mediation + +Voluntary informal mediation is a tool at our disposal. In contexts such as when two or more parties have all escalated to the point of inappropriate behavior (something sadly common in human conflict), it may be useful to facilitate a mediation process. This is only an example: the Committee can consider mediation in any case, mindful that the process is meant to be strictly voluntary and no party can be pressured to participate. If the Committee suggests mediation, it should: + +* Find a candidate who can serve as a mediator. +* Obtain the agreement of the reporter(s). The reporter(s) have complete freedom to decline the mediation idea or to propose an alternate mediator. +* Obtain the agreement of the reported person(s). +* Settle on the mediator: while parties can propose a different mediator than the suggested candidate, only if a common agreement is reached on all terms can the process move forward. +* Establish a timeline for mediation to complete, ideally within two weeks. + +The mediator will engage with all the parties and seek a resolution that is satisfactory to all. Upon completion, the mediator will provide a report (vetted by all parties to the process) to the Committee, with recommendations on further steps. The Committee will then evaluate these results (whether a satisfactory resolution was achieved or not) and decide on any additional action deemed necessary. + + +## How the Committee will respond to reports + +When the Committee (or a Committee member) receives a report, they will first determine whether the report is about a clear and severe breach (as defined below). If so, immediate action needs to be taken in addition to the regular report handling process. + + +## Clear and severe breach actions + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We will deal quickly with clear and severe breaches like personal threats, violent, sexist or racist language. + +When a member of the Code of Conduct Committee becomes aware of a clear and severe breach, they will do the following: + +* Immediately disconnect the originator from all NumPy communication channels. +* Reply to the reporter that their report has been received and that the originator has been disconnected. +* In every case, the moderator should make a reasonable effort to contact the originator, and tell them specifically how their language or actions qualify as a “clear and severe breach”. The moderator should also say that, if the originator believes this is unfair or they want to be reconnected to NumPy, they have the right to ask for a review, as below, by the Code of Conduct Committee. The moderator should copy this explanation to the Code of Conduct Committee. +* The Code of Conduct Committee will formally review and sign off on all cases where this mechanism has been applied to make sure it is not being used to control ordinary heated disagreement. + + +## Report handling + +When a report is sent to the Committee they will immediately reply to the reporter to confirm receipt. This reply must be sent within 72 hours, and the group should strive to respond much quicker than that. + +If a report doesn’t contain enough information, the Committee will obtain all relevant data before acting. The Committee is empowered to act on the Steering Council’s behalf in contacting any individuals involved to get a more complete account of events. + +The Committee will then review the incident and determine, to the best of their ability: + +* What happened. +* Whether this event constitutes a Code of Conduct violation. +* Who are the responsible party(ies). +* Whether this is an ongoing situation, and there is a threat to anyone’s physical safety. + +This information will be collected in writing, and whenever possible the group’s deliberations will be recorded and retained (i.e. chat transcripts, email discussions, recorded conference calls, summaries of voice conversations, etc). + +It is important to retain an archive of all activities of this Committee to ensure consistency in behavior and provide institutional memory for the project. To assist in this, the default channel of discussion for this Committee will be a private mailing list accessible to current and future members of the Committee as well as members of the Steering Council upon justified request. If the Committee finds the need to use off-list communications (e.g. phone calls for early/rapid response), it should in all cases summarize these back to the list so there’s a good record of the process. + +The Code of Conduct Committee should aim to have a resolution agreed upon within two weeks. In the event that a resolution can’t be determined in that time, the Committee will respond to the reporter(s) with an update and projected timeline for resolution. + + +## Resolutions + +The Committee must agree on a resolution by consensus. If the group cannot reach consensus and deadlocks for over a week, the group will turn the matter over to the Steering Council for resolution. + +Possible responses may include: + +* Taking no further action: + - if we determine no violations have occurred; + - if the matter has been resolved publicly while the Committee was considering responses. +* Coordinating voluntary mediation: if all involved parties agree, the Committee may facilitate a mediation process as detailed above. +* Remind publicly, and point out that some behavior/actions/language have been judged inappropriate and why in the current context, or can but hurtful to some people, requesting the community to self-adjust. +* A private reprimand from the Committee to the individual(s) involved. In this case, the group chair will deliver that reprimand to the individual(s) over email, cc’ing the group. +* A public reprimand. In this case, the Committee chair will deliver that reprimand in the same venue that the violation occurred, within the limits of practicality. E.g., the original mailing list for an email violation, but for a chat room discussion where the person/context may be gone, they can be reached by other means. The group may choose to publish this message elsewhere for documentation purposes. +* A request for a public or private apology, assuming the reporter agrees to this idea: they may at their discretion refuse further contact with the violator. The chair will deliver this request. The Committee may, if it chooses, attach “strings” to this request: for example, the group may ask a violator to apologize in order to retain one’s membership on a mailing list. +* A “mutually agreed upon hiatus” where the Committee asks the individual to temporarily refrain from community participation. If the individual chooses not to take a temporary break voluntarily, the Committee may issue a “mandatory cooling off period”. +* A permanent or temporary ban from some or all NumPy spaces (mailing lists, gitter.im, etc.). The group will maintain records of all such bans so that they may be reviewed in the future or otherwise maintained. + +Once a resolution is agreed upon, but before it is enacted, the Committee will contact the original reporter and any other affected parties and explain the proposed resolution. The Committee will ask if this resolution is acceptable, and must note feedback for the record. + +Finally, the Committee will make a report to the NumPy Steering Council (as well as the NumPy core team in the event of an ongoing resolution, such as a ban). + +The Committee will never publicly discuss the issue; all public statements will be made by the chair of the Code of Conduct Committee or the NumPy Steering Council. + + +## Conflicts of Interest + +In the event of any conflict of interest, a Committee member must immediately notify the other members, and recuse themselves if necessary. diff --git a/content/ar/tabcontents.yaml b/content/ar/tabcontents.yaml new file mode 100644 index 0000000000..d74cba9bce --- /dev/null +++ b/content/ar/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + arraylibraries: + intro: + - + text: NumPy's API is the starting point when libraries are written to exploit innovative hardware, create specialized array types, or add capabilities beyond what NumPy provides. + headers: + - + text: Array Library + - + text: Capabilities & Application areas + libraries: + - + title: Dask + text: Distributed arrays and advanced parallelism for analytics, enabling performance at scale. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: NumPy-compatible array library for GPU-accelerated computing with Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.dev + - + title: JAX + text: "Composable transformations of NumPy programs: differentiate, vectorize, just-in-time compilation to GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: NumPy-compatible sparse array library that integrates with Dask and SciPy's sparse linear algebra. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: Deep learning framework that accelerates the path from research prototyping to production deployment. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: An end-to-end platform for machine learning to easily build and deploy ML powered applications. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: A cross-language development platform for columnar in-memory data and analytics. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://arrow.apache.org/ + - + title: xtensor + text: Multi-dimensional arrays with broadcasting and lazy computing for numerical analysis. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipulate JSON-like data with NumPy-like idioms. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: Python backend system that decouples API from implementation; unumpy provides a NumPy API. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: Nearly every scientist working in Python draws on the power of NumPy. + - + text: "NumPy brings the computational power of languages like C and Fortran to Python, a language much easier to learn and use. With this power comes simplicity: a solution in NumPy is often clear and elegant." + libraries: + - + title: Quantum Computing + alttext: A computer chip. + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: Statistical Computing + alttext: A line graph with the line moving up. + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: Image Processing + alttext: An photograph of the mountains. + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy + alttext: A telescope. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: Cognitive Psychology + alttext: A human head with gears. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: Bioinformatics + alttext: A strand of DNA. + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: Bayesian Inference + alttext: A graph with a bell-shaped curve. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: Mathematical Analysis + alttext: Four mathematical symbols. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: Chemistry + alttext: A test tube. + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: Geoscience + alttext: The Earth. + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: Geographic Processing + alttext: A map. + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: Architecture & Engineering + alttext: A microprocessor development board. + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy lies at the core of a rich ecosystem of data science libraries. A typical exploratory data science workflow might look like:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Diagram of Python Libraries. The five catagories are 'Extract, Transform, Load', 'Data Exploration', 'Data Modeling', 'Data Evaluation' and 'Data Presentation'. + image2: + - + img: /images/content_images/data-science.png + alttext: Diagram of three overlapping circles. The circles are labeled 'Mathematics', 'Computer Science' and 'Domain Expertise'. In the middle of the diagram, which has the three circles overlapping it, is an area labeled 'Data Science'. + examples: + - + text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor-devs.github.io/pyjanitor/)" + - + text: "Exploratory analysis: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "Model and evaluate: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Report in a dashboard: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://voila.readthedocs.io/)" + content: + - + text: For high data volumes, [Dask](https://dask.org) and [Ray](https://ray.io/) are designed to scale. Stable deployments rely on data versioning ([DVC](https://dvc.org)), experiment tracking ([MLFlow](https://mlflow.org)), and workflow automation ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) and [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: A streamplot made in matplotlib + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: A scatter-plot graph made in ggpy + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: A box-plot made in plotly + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + content: + - + text: NumPy is an essential component in the burgeoning [Python visualization landscape](https://pyviz.org/overviews/index.html), which includes [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://napari.org/), and [PyVista](https://docs.pyvista.org/), to name a few. + - + text: NumPy's accelerated processing of large arrays allows researchers to visualize datasets far larger than native Python could handle. diff --git a/content/ar/teams/index.md b/content/ar/teams/index.md new file mode 100644 index 0000000000..a72470a868 --- /dev/null +++ b/content/ar/teams/index.md @@ -0,0 +1,35 @@ +--- +title: هيئات نمباي +sidebar: false +--- + +نحن فريق دولي نسعى لدعم المجتمعات العلمية والبحثية في جميع دول العالم وذلك من خلال إنشاء برامج عالية الجودة ومفتوحة المصدر. +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# الحوكمة + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/ar/user-survey-2020.md b/content/ar/user-survey-2020.md new file mode 100644 index 0000000000..3da9e35750 --- /dev/null +++ b/content/ar/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: استطلاع مجتمع نمباي لعام 2020 +sidebar: false +--- + +في عام 2020، شارك فريق استطلاع نمباي بإجراء أول دراسة استقصائية رسمية للمجتمع مع الطلاب وأعضاء هيئة التدريس الملتحقين ببرنامج ماجستير في منهجية الاستطلاع الذي تستضيفه جامعتي ميتشيجان وميريلاند. شارك أكثر من 1200 مستخدم من 75 دولة لمساعدتنا في تصميم مخطط لمجتمع نمباي كما عبروا عن أفكارهم حول مستقبل المشروع. + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 NumPy user survey report, titled "NumPy Community Survey 2020 - results"' width = '250' +{{< /figure >}} + +**[قم بتحميل هذا التقرير ](/surveys/NumPy_usersurvey_2020_report.pdf)** لإلقاء نظرة أدق على نتائج الاستطلاع. + + +للنقاط الأكثر أهمية، تحقق من **[هذة التصاميم التي تتضمن معلومات](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**. + +أمستعد لأكثر من ذلك؟ قم بزيارة **https://numpy.org/user-survey-2020-details/**. + diff --git a/content/ar/user-surveys.md b/content/ar/user-surveys.md new file mode 100644 index 0000000000..9b9aa49f39 --- /dev/null +++ b/content/ar/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: استطلاعات مستخدمي NUMPY +sidebar: false +--- + +**2020** أجرى فريق استطلاع NumPy أول دراسة استقصائية رسمية لمجتمع NumPy وذلك بالشراكة مع الطلاب وأعضاء هيئة التدريس من جامعة ميشيغان وجامعة ميريلاند. بإمكانك معرفة نتائج الدراسة الاستقصائية من هنا [here](https://numpy.org/user-survey-2020/). + +**2021** وتحلل البيانات المجمعة حاليا. + +إذا كان لديك أي أسئلة أو اقتراحات للاستطلاعات السابقة أو المستقبلية، يرجى فتح طلب من هنا [](https://github.com/numpy/numpy-surveys/issues). diff --git a/content/ca/404.md b/content/ca/404.md new file mode 100644 index 0000000000..da192c53c0 --- /dev/null +++ b/content/ca/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +Oops! You've reached a dead end. + +If you think something should be here, you can [open an issue](https://github.com/numpy/numpy.org/issues) on GitHub. diff --git a/content/ca/_index.md b/content/ca/_index.md new file mode 100644 index 0000000000..be88f9e642 --- /dev/null +++ b/content/ca/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Powerful N-dimensional arrays' +body = ''' +Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. +''' + +[[item]] +type = 'card' +title = 'Numerical computing tools' +body = ''' +NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. +''' + +[[item]] +type = 'card' +title = 'Open source' +body = ''' +Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. +''' + +[[item]] +type = 'card' +title = 'Performant' +body = ''' +The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. +''' + +[[item]] +type = 'card' +title = 'Easy to use' +body = ''' +NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. +''' + +{{< /grid>}} diff --git a/content/ca/about.md b/content/ca/about.md new file mode 100644 index 0000000000..243f7083ae --- /dev/null +++ b/content/ca/about.md @@ -0,0 +1,90 @@ +--- +title: About Us +sidebar: false +--- + +NumPy is an open source project that enables numerical computing with Python. It was created in 2005 building on the early work of the Numeric and Numarray libraries. NumPy will always be 100% open source software and free for all to use. It is released under the liberal terms of the [modified BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +NumPy is developed in the open on GitHub, through the consensus of the NumPy and wider scientific Python community. For more information on our governance approach, please see our [Governance Document](https://www.numpy.org/devdocs/dev/governance/index.html). + + +## Steering Council + +The NumPy Steering Council is the project's governing body. Its role is to ensure, through working with and serving the broader NumPy community, the long-term sustainability of the project, both as a software package and community. The NumPy Steering Council currently consists of the following members (in alphabetical order, by last name): + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Melissa Weber Mendonça +- Eric Wieser + +Emeritus: + +- Alex Griffing (2015-2017) +- Allan Haldane (2015-2021) +- Marten van Kerkwijk (2017-2019) +- Travis Oliphant (project founder, 2005-2012) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Jaime Fernández del Río (2014-2021) +- Pauli Virtanen (2008-2021) + +To contact the NumPy Steering Council, please email numpy-team@googlegroups.com. + +## Teams + +The NumPy project leadership is actively working on diversifying contribution pathways to the project.
NumPy currently has the following teams: + +- development +- documentation +- triage +- website +- survey +- translations +- sprint mentors +- optimization +- funding and grants + +See the [Team](/teams) page for more info. + +## NumFOCUS Subcommittee + +- Charles Harris +- Ralf Gommers +- Inessa Pawson +- Sebastian Berg +- External member: Thomas Caswell + +## Sponsors + +NumPy receives direct funding from the following sources: +{{< sponsors >}} + + +## Institutional Partners + +Institutional Partners are organizations that support the project by employing people that contribute to NumPy as part of their job. Current Institutional Partners include: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## Donate + +If you have found NumPy useful in your work, research, or company, please consider a donation to the project commensurate with your resources. Any amount helps! All donations will be used strictly to fund the development of NumPy’s open source software, documentation, and community. + +NumPy is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States. NumFOCUS provides NumPy with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Visit [numfocus.org](https://numfocus.org) for more information. + +Donations to NumPy are managed by [NumFOCUS](https://numfocus.org). For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax advisor about your particular tax situation. + +NumPy's Steering Council will make the decisions on how to best use any funds received. Technical and infrastructure priorities are documented on the [NumPy Roadmap](https://www.numpy.org/neps/index.html#roadmap). + +{{}} + diff --git a/content/ca/arraycomputing.md b/content/ca/arraycomputing.md new file mode 100644 index 0000000000..abd29d11c1 --- /dev/null +++ b/content/ca/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: Array Computing +sidebar: false +--- + +*Array computing is the foundation of statistical, mathematical, scientific computing in various contemporary data science and analytics applications such as data visualization, digital signal processing, image processing, bioinformatics, machine learning, AI, and several others.* + +Large scale data manipulation and transformation depends on efficient, high-performance array computing. The language of choice for data analytics, machine learning, and productive numerical computing is **Python.** + +**Num**erical **Py**thon or NumPy is its de-facto standard Python programming language library that supports large, multi-dimensional arrays and matrices, and comes with a vast collection of high-level mathematical functions to operate on these arrays. + +Since the launch of NumPy in 2006, Pandas appeared on the landscape in 2008, and it was not until a couple of years ago that several array computing libraries showed up in succession, crowding the array computing landscape. Many of these newer libraries mimic NumPy-like features and capabilities, and pack newer algorithms and features geared towards machine learning and artificial intelligence applications. + +arraycl + +**Array computing** is based on **arrays** data structures. *Arrays* are used to organize vast amounts of data such that a related set of values can be easily sorted, searched, mathematically manipulated, and transformed easily and quickly. + +Array computing is *unique* as it involves operating on the data array *at once*. What this means is that any array operation applies to an entire set of values in one shot. This vectorized approach provides speed and simplicity by enabling programmers to code and operate on aggregates of data, without having to use loops of individual scalar operations. diff --git a/content/ca/case-studies/blackhole-image.md b/content/ca/case-studies/blackhole-image.md new file mode 100644 index 0000000000..22334ebed0 --- /dev/null +++ b/content/ca/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "Case Study: First Image of a Black Hole" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## A telescope the size of the earth + +The [Event Horizon telescope (EHT)](https://eventhorizontelescope.org) is an array of eight ground-based radio telescopes forming a computational telescope the size of the earth, studing the universe with unprecedented sensitivity and resolution. The huge virtual telescope, which uses a technique called very-long-baseline interferometry (VLBI), has an angular resolution of [20 micro-arcseconds][resolution] — enough to read a newspaper in New York from a sidewalk café in Paris! + +### Key Goals and Results + +* **A New View of the Universe:** The groundwork for the EHT's groundbreaking image had been laid 100 years earlier when [Sir Arthur Eddington][eddington] yielded the first observational support of Einstein's theory of general relativity. + +* **The Black Hole:** EHT was trained on a supermassive black hole approximately 55 million light-years from Earth, lying at the center of the galaxy Messier 87 (M87) in the Virgo galaxy cluster. Its mass is 6.5 billion times the Sun's. It had been studied for [over 100 years](https://www.jpl.nasa.gov/news/news.php?feature=7385), but never before had a black hole been visually observed. + +* **Comparing Observations to Theory:** From Einstein’s general theory of relativity, scientists expected to find a shadow-like region caused by gravitational bending and capture of light. Scientists could use it to measure the black hole's enormous mass. + +### The Challenges + +* **Computational scale** + + EHT poses massive data-processing challenges, including rapid atmospheric phase fluctuations, large recording bandwidth, and telescopes that are widely dissimilar and geographically dispersed. + +* **Too much information** + + Each day EHT generates over 350 terabytes of observations, stored on helium-filled hard drives. Reducing the volume and complexity of this much data is enormously difficult. + +* **Into the unknown** + + When the goal is to see something never before seen, how can scientists be confident the image is correct? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT Data Processing Pipeline' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## NumPy’s Role + +What if there's a problem with the data? Or perhaps an algorithm relies too heavily on a particular assumption. Will the image change drastically if a single parameter is changed? + +The EHT collaboration met these challenges by having independent teams evaluate the data, using both established and cutting-edge image reconstruction techniques. When results proved consistent, they were combined to yield the first-of-a-kind image of the black hole. + +Their work illustrates the role the scientific Python ecosystem plays in advancing science through collaborative data analysis. + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'The role of NumPy in Black Hole imaging' +{{< /figure >}} + +For example, the [`eht-imaging`][ehtim] Python package provides tools for simulating and performing image reconstruction on VLBI data. NumPy is at the core of array data processing used in this package, as illustrated by the partial software dependency chart below. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Software dependency chart of ehtim package highlighting NumPy' +{{< /figure >}} + +Besides NumPy, many other packages, such as [SciPy](https://www.scipy.org) and [Pandas](https://pandas.io), are part of the data processing pipeline for imaging the black hole. The standard astronomical file formats and time/coordinate transformations were handled by [Astropy][astropy], while [Matplotlib][mpl] was used in visualizing data throughout the analysis pipeline, including the generation of the final image of the black hole. + +## Summary + +The efficient and adaptable n-dimensional array that is NumPy's central feature enabled researchers to manipulate large numerical datasets, providing a foundation for the first-ever image of a black hole. A landmark moment in science, it gives stunning visual evidence of Einstein’s theory. The achievement encompasses not only technological breakthroughs but also international collaboration among over 200 scientists and some of the world's best radio observatories. Innovative algorithms and data processing techniques, improving upon existing astronomical models, helped unfold a mystery of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/ca/case-studies/cricket-analytics.md b/content/ca/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..d0be271f50 --- /dev/null +++ b/content/ca/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "Case Study: Cricket Analytics, the game changer!" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, the biggest Cricket Festival in India' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## About Cricket + +It would be an understatement to state that Indians love cricket. The game is played in just about every nook and cranny of India, rural or urban, popular with the young and the old alike, connecting billions in India unlike any other sport. Cricket enjoys lots of media attention. There is a significant amount of [money](https://www.statista.com/topics/4543/indian-premier-league-ipl/) and fame at stake. Over the last several years, technology has literally been a game changer. Audiences are spoilt for choice with streaming media, tournaments, affordable access to mobile based live cricket watching, and more. + +The Indian Premier League (IPL) is a professional Twenty20 cricket league, founded in 2008. It is one of the most attended cricketing events in the world, valued at [$6.7 billion](https://en.wikipedia.org/wiki/Indian_Premier_League) in 2019. + +Cricket is a game of numbers - the runs scored by a batsman, the wickets taken by a bowler, the matches won by a cricket team, the number of times a batsman responds in a certain way to a kind of bowling attack, etc. The capability to dig into cricketing numbers for both improving performance and studying the business opportunities, overall market, and economics of cricket via powerful analytics tools, powered by numerical computing software such as NumPy, is a big deal. Cricket analytics provides interesting insights into the game and predictive intelligence regarding game outcomes. + +Today, there are rich and almost infinite troves of cricket game records and statistics available, e.g., [ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) and [cricsheet](https://cricsheet.org). These and several such cricket databases have been used for [cricket analysis](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances) using the latest machine learning and predictive modelling algorithms. Media and entertainment platforms along with professional sports bodies associated with the game use technology and analytics for determining key metrics for improving match winning chances: + +* batting performance moving average, +* score forecasting, +* gaining insights into fitness and performance of a player against different opposition, +* player contribution to wins and losses for making strategic decisions on team composition + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Cricket Pitch, the focal point in the field' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### Key Data Analytics Objectives + +* Sports data analytics are used not only in cricket but many [other sports](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) for improving the overall team performance and maximizing winning chances. +* Real-time data analytics can help in gaining insights even during the game for changing tactics by the team and by associated businesses for economic benefits and growth. +* Besides historical analysis, predictive models are harnessed to determine the possible match outcomes that require significant number crunching and data science know-how, visualization tools and capability to include newer observations in the analysis. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'Cricket Pose Estimator' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### The Challenges + +* **Data Cleaning and preprocessing** + + IPL has expanded cricket beyond the classic test match format to a much larger scale. The number of matches played every season across various formats has increased and so has the data, the algorithms, newer sports data analysis technologies and simulation models. Cricket data analysis requires field mapping, player tracking, ball tracking, player shot analysis, and several other aspects involved in how the ball is delivered, its angle, spin, velocity, and trajectory. All these factors together have increased the complexity of data cleaning and preprocessing. + +* **Dynamic Modeling** + + In cricket, just like any other sport, there can be a large number of variables related to tracking various numbers of players on the field, their attributes, the ball, and several possibilities of potential actions. The complexity of data analytics and modeling is directly proportional to the kind of predictive questions that are put forth during analysis and are highly dependent on data representation and the model. Things get even more challenging in terms of computation, data comparisons when dynamic cricket play predictions are sought such as what would have happened if the batsman had hit the ball at a different angle or velocity. + +* **Predictive Analytics Complexity** + + Much of the decision making in cricket is based on questions such as "how often does a batsman play a certain kind of shot if the ball delivery is of a particular type", or "how does a bowler change his line and length if the batsman responds to his delivery in a certain way". This kind of predictive analytics query requires highly granular dataset availability and the capability to synthesize data and create generative models that are highly accurate. + +## NumPy’s Role in Cricket Analytics + +Sports Analytics is a thriving field. Many researchers and companies [use NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) and other PyData packages like Scikit-learn, SciPy, Matplotlib, and Jupyter, besides using the latest machine learning and AI techniques. NumPy has been used for various kinds of cricket related sporting analytics such as: + +* **Statistical Analysis:** NumPy's numerical capabilities help estimate the statistical significance of observational data or match events in the context of various player and game tactics, estimating the game outcome by comparison with a generative or static model. [Causal analysis](https://amplitude.com/blog/2017/01/19/causation-correlation) and [big data approaches](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) are used for tactical analysis. + +* **Data Visualization:** Data graphing and [visualization](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) provide useful insights into relationship between various datasets. + +## Summary + +Sports Analytics is a game changer when it comes to how professional games are played, especially how strategic decision making happens, which until recently was primarily done based on “gut feeling" or adherence to past traditions. NumPy forms a solid foundation for a large set of Python packages which provide higher level functions related to data analytics, machine learning, and AI algorithms. These packages are widely deployed to gain real-time insights that help in decision making for game-changing outcomes, both on field as well as to draw inferences and drive business around the game of cricket. Finding out the hidden parameters, patterns, and attributes that lead to the outcome of a cricket match helps the stakeholders to take notice of game insights that are otherwise hidden in numbers and statistics. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagram showing benefits of using NumPy for cricket analytics' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/ca/case-studies/deeplabcut-dnn.md b/content/ca/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..257905de91 --- /dev/null +++ b/content/ca/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "Case Study: DeepLabCut 3D Pose Estimation" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analyzing mice hand-movement using DeepLapCut' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Open Source Software is accelerating Biomedicine. DeepLabCut enables automated video analysis of animal behavior using Deep Learning. +> +> {{< /blockquote >}} + +## About DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) is an open source toolbox that empowers researchers at hundreds of institutions worldwide to track behaviour of laboratory animals, with very little training data, at human-level accuracy. With DeepLabCut technology, scientists can delve deeper into the scientific understanding of motor control and behavior across animal species and timescales. + +Several areas of research, including neuroscience, medicine, and biomechanics, use data from tracking animal movement. DeepLabCut helps in understanding what humans and other animals are doing by parsing actions that have been recorded on film. Using automation for laborious tasks of tagging and monitoring, along with deep neural network based data analysis, DeepLabCut makes scientific studies involving observing animals, such as primates, mice, fish, flies etc., much faster and more accurate. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Colored dots track the positions of a racehorse’s body part' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' +{{< /figure >}} + +DeepLabCut's non-invasive behavioral tracking of animals by extracting the poses of animals is crucial for scientific pursuits in domains such as biomechanics, genetics, ethology & neuroscience. Measuring animal poses non-invasively from video - without markers - in dynamically changing backgrounds is computationally challenging, both technically as well as in terms of resource needs and training data required. + +DeepLabCut allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior through a Python based software toolkit. With DeepLabCut, researchers can identify distinct frames from videos, digitally label specific body parts in a few dozen frames with a tailored GUI, and then the deep learning based pose estimation architectures in DeepLabCut learn how to pick out those same features in the rest of the video and in other similar videos of animals. It works across species of animals, from common laboratory animals such as flies and mice to more unusual animals like [cheetahs][cheetah-movement]. + +DeepLabCut uses a principle called [transfer learning](https://arxiv.org/pdf/1909.11229), which greatly reduces the amount of training data required and speeds up the convergence of the training period. Depending on the needs, users can pick different network architectures that provide faster inference (e.g. MobileNetV2), which can also be combined with real-time experimental feedback. DeepLabCut originally used the feature detectors from a top-performing human pose estimation architecture, called [DeeperCut](https://arxiv.org/abs/1605.03170), which inspired the name. The package now has been significantly changed to include additional architectures, augmentation methods, and a full front-end user experience. Furthermore, to support large-scale biological experiments DeepLabCut provides active learning capabilities so that users can increase the training set over time to cover edge cases and make their pose estimation algorithm robust within the specific context. + +Recently, the [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) was introduced, which provides pre-trained models for various species and experimental conditions from facial analysis in primates to dog posture. This can be run for instance in the cloud without any labeling of new data, or neural network training, and no programming experience is necessary. + +### Key Goals and Results + +* **Automation of animal pose analysis for scientific studies:** + + The primary objective of DeepLabCut technology is to measure and track posture of animals in a diverse settings. This data can be used, for example, in neuroscience studies to understand how the brain controls movement, or to elucidate how animals socially interact. Researchers have observed a [tenfold performance boost](https://www.biorxiv.org/content/10.1101/457242v1) with DeepLabCut. Poses can be inferred offline at up to 1200 frames per second (FPS). + +* **Creation of an easy-to-use Python toolkit for pose estimation:** + + DeepLabCut wanted to share their animal pose-estimation technology in the form of an easy to use tool that can be adopted by researchers easily. So they have created a complete, easy-to-use Python toolbox with project management features as well. These enable not only automation of pose-estimation but also managing the project end-to-end by helping the DeepLabCut Toolkit user right from the dataset collection stage to creating shareable and reusable analysis pipelines. + + Their [toolkit][DLCToolkit] is now available as open source. + + A typical DeepLabCut Workflow includes: + + - creation and refining of training sets via active learning + - creation of tailored neural networks for specific animals and scenarios + - code for large-scale inference on videos + - draw inferences using integrated visualization tools + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pose estimation steps with DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +{{< /figure >}} + +### The Challenges + +* **Speed** + + Fast processing of animal behavior videos in order to measure their behavior and at the same time make scientific experiments more efficient, accurate. Extracting detailed animal poses for laboratory experiments, without markers, in dynamically changing backgrounds, can be challenging, both technically as well as in terms of resource needs and training data required. Coming up with a tool that is easy to use without the need for skills such as computer vision expertise that enables scientists to do research in more real-world contexts, is a non-trivial problem to solve. + +* **Combinatorics** + + Combinatorics involves assembly and integration of movement of multiple limbs into individual animal behavior. Assembling keypoints and their connections into individual animal movements and linking them across time is a complex process that requires heavy-duty numerical analysis, especially in case of multi-animal movement tracking in experiment videos. + +* **Data Processing** + + Last but not the least, array manipulation - processing large stacks of arrays corresponding to various images, target tensors and keypoints is fairly challenging. + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Pose estimation variety and complexity' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## NumPy's Role in meeting Pose Estimation Challenges + +NumPy addresses DeepLabCut technology's core need of numerical computations at high speed for behavioural analytics. Besides NumPy, DeepLabCut employs various Python software that utilize NumPy at their core, such as [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) and [Tensorflow](https://www.tensorflow.org). + +The following features of NumPy played a key role in addressing the image processing, combinatorics requirements and need for fast computation in DeepLabCut pose estimation algorithms: + +* Vectorization +* Masked Array Operations +* Linear Algebra +* Random Sampling +* Reshaping of large arrays + +DeepLabCut utilizes NumPy’s array capabilities throughout the workflow offered by the toolkit. In particular, NumPy is used for sampling distinct frames for human annotation labeling, and for writing, editing and processing annotation data. Within TensorFlow the neural network is trained by DeepLabCut technology over thousands of iterations to predict the ground truth annotations from frames. For this purpose, target densities (scoremaps) are created to cast pose estimation as a image-to-image translation problem. To make the neural networks robust, data augmentation is employed, which requires the calculation of target scoremaps subject to various geometric and image processing steps. To make training fast, NumPy’s vectorization capabilities are leveraged. For inference, the most likely predictions from target scoremaps need to extracted and one needs to efficiently “link predictions to assemble individual animals”. + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut Workflow' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## Summary + +Observing and efficiently describing behavior is a core tenant of modern ethology, neuroscience, medicine, and technology. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior. With only a small set of training images, the DeepLabCut Python toolbox allows training a neural network to within human level labeling accuracy, thus expanding its application to not only behavior analysis in the laboratory, but to potentially also in sports, gait analysis, medicine and rehabilitation studies. Complex combinatorics, data processing challenges faced by DeepLabCut algorithms are addressed through the use of NumPy's array manipulation capabilities. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/ca/case-studies/gw-discov.md b/content/ca/case-studies/gw-discov.md new file mode 100644 index 0000000000..08f54b7547 --- /dev/null +++ b/content/ca/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "Case Study: Discovery of Gravitational Waves" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Gravitational Waves' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## About [Gravitational Waves](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) and [LIGO](https://www.ligo.caltech.edu) + +Gravitational waves are ripples in the fabric of space and time, generated by cataclysmic events in the universe such as collision and merging of two black holes or coalescing binary stars or supernovae. Observing GW can not only help in studying gravity but also in understanding some of the obscure phenomena in the distant universe and its impact. + +The [Laser Interferometer Gravitational-Wave Observatory (LIGO)](https://www.ligo.caltech.edu) was designed to open the field of gravitational-wave astrophysics through the direct detection of gravitational waves predicted by Einstein’s General Theory of Relativity. It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. Each of them has multi-kilometer-scale gravitational wave detectors that use laser interferometry. The LIGO Scientific Collaboration (LSC), is a group of more than 1000 scientists from universities around the United States and in 14 other countries supported by more than 90 universities and research institutes; approximately 250 students actively contributing to the collaboration. The new LIGO discovery is the first observation of gravitational waves themselves, made by measuring the tiny disturbances the waves make to space and time as they pass through the earth. It has opened up new astrophysical frontiers that explore the warped side of the universe—objects and phenomena that are made from warped spacetime. + + +### Key Objectives + +* Though its [mission](https://www.ligo.caltech.edu/page/what-is-ligo) is to detect gravitational waves from some of the most violent and energetic processes in the Universe, the data LIGO collects may have far-reaching effects on many areas of physics including gravitation, relativity, astrophysics, cosmology, particle physics, and nuclear physics. +* Crunch observed data via numerical relativity computations that involves complex maths in order to discern signal from noise, filter out relevant signal and statistically estimate significance of observed data +* Data visualization so that the binary / numerical results can be comprehended. + + + +### The Challenges + +* **Computation** + + Gravitational Waves are hard to detect as they produce a very small effect and have tiny interaction with matter. Processing and analyzing all of LIGO's data requires a vast computing infrastructure.After taking care of noise, which is billions of times of the signal, there is still very complex relativity equations and huge amounts of data which present a computational challenge: [O(10^7) CPU hrs needed for binary merger analyses](https://youtu.be/7mcHknWWzNI) spread on 6 dedicated LIGO clusters + +* **Data Deluge** + + As observational devices become more sensitive and reliable, the challenges posed by data deluge and finding a needle in a haystack rise multi-fold. LIGO generates terabytes of data every day! Making sense of this data requires an enormous effort for each and every detection. For example, the signals being collected by LIGO must be matched by supercomputers against hundreds of thousands of templates of possible gravitational-wave signatures. + +* **Visualization** + + Once the obstacles related to understanding Einstein’s equations well enough to solve them using supercomputers are taken care of, the next big challenge was making data comprehensible to the human brain. Simulation modeling as well as signal detection requires effective visualization techniques. Visualization also plays a role in lending more credibility to numerical relativity in the eyes of pure science aficionados, who did not give enough importance to numerical relativity until imaging and simulations made it easier to comprehend results for a larger audience. Speed of complex computations and rendering, re-rendering images and simulations using latest experimental inputs and insights can be a time consuming activity that challenges researchers in this domain. + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Estimated gravitational-wave strain amplitude from GW150914' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## NumPy’s Role in the Detection of Gravitational Waves + +Gravitational waves emitted from the merger cannot be computed using any technique except brute force numerical relativity using supercomputers. The amount of data LIGO collects is as incomprehensibly large as gravitational wave signals are small. + +NumPy, the standard numerical analysis package for Python, was utilized by the software used for various tasks performed during the GW detection project at LIGO. NumPy helped in solving complex maths and data manipulation at high speed. Here are some examples: + +* [Signal Processing](https://www.uv.es/virgogroup/Denoising_ROF.html): Glitch detection, [Noise identification and Data Characterization](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* Data retrieval: Deciding which data can be analyzed, figuring out whether it contains a signal - needle in a haystack +* Statistical analysis: estimate the statistical significance of observational data, estimating the signal parameters (e.g. masses of stars, spin velocity, and distance) by comparison with a model. +* Visualization of data + - Time series + - Spectrograms +* Compute Correlations +* Key [Software](https://github.com/lscsoft) developed in GW data analysis such as [GwPy](https://gwpy.github.io/docs/stable/overview.html) and [PyCBC](https://pycbc.org) uses NumPy and AstroPy under the hood for providing object based interfaces to utilities, tools, and methods for studying data from gravitational-wave detectors. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Dependency graph showing how GwPy package depends on NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Dependency graph showing how PyCBC package depends on NumPy' +{{< /figure >}} + +## Summary + +GW detection has enabled researchers to discover entirely unexpected phenomena while providing new insight into many of the most profound astrophysical phenomena known. Number crunching and data visualization is a crucial step that helps scientists gain insights into data gathered from the scientific observations and understand the results. The computations are complex and cannot be comprehended by humans unless it is visualized using computer simulations that are fed with the real observed data and analysis. NumPy along with other Python packages such as matplotlib, pandas, and scikit-learn is [enabling researchers](https://www.gw-openscience.org/events/GW150914/) to answer complex questions and discover new horizons in our understanding of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/ca/citing-numpy.md b/content/ca/citing-numpy.md new file mode 100644 index 0000000000..5bb5d791b4 --- /dev/null +++ b/content/ca/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: Citing NumPy +sidebar: false +--- + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing the following paper: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_In BibTeX format:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/ca/code-of-conduct.md b/content/ca/code-of-conduct.md new file mode 100644 index 0000000000..5ee1f4bcbe --- /dev/null +++ b/content/ca/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy Code of Conduct +sidebar: false +aliases: + - /conduct.html +--- + +### Introduction + +This Code of Conduct applies to all spaces managed by the NumPy project, including all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our community. The NumPy project does not organise in-person events, however events related to our community should have a code of conduct similar in spirit to this one. + +This Code of Conduct should be honored by everyone who participates in the NumPy community formally or informally, or claims any affiliation with the project, in any project-related activities and especially when representing the project, in any role. + +This code is not exhaustive or complete. It serves to distill our common understanding of a collaborative, shared environment and goals. Please try to follow this code in spirit as much as in letter, to create a friendly and productive environment that enriches the surrounding community. + +### Specific Guidelines + +We strive to: + +1. Be open. We invite anyone to participate in our community. We prefer to use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also ensures that any inadvertent mistakes in answering are more easily detected and corrected. +2. Be empathetic, welcoming, friendly, and patient. We work together to resolve conflict, and assume good intentions. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. +3. Be collaborative. Our work will be used by other people, and in turn we will depend on the work of others. When we make something for the benefit of the project, we are willing to explain to others how it works, so that they can build on the work to make it even better. Any decision we make will affect users and colleagues, and we take those consequences seriously when making decisions. +4. Be inquisitive. Nobody knows everything! Asking questions early avoids many problems later, so we encourage questions, although we may direct them to the appropriate forum. We will try hard to be responsive and helpful. +5. Be careful in the words that we choose. We are careful and respectful in our communication, and we take responsibility for our own speech. Be kind to others. Do not insult or put down other participants. We will not accept harassment or other exclusionary behaviour, such as: + * Violent threats or language directed against another person. + * Sexist, racist, or otherwise discriminatory jokes and language. + * Posting sexually explicit or violent material. + * Posting (or threatening to post) other people’s personally identifying information (“doxing”). + * Sharing private content, such as emails sent privately or non-publicly, or unlogged forums such as IRC channel history, without the sender’s consent. + * Personal insults, especially those using racist or sexist terms. + * Unwelcome sexual attention. + * Excessive profanity. Please avoid swearwords; people differ greatly in their sensitivity to swearing. + * Repeated harassment of others. In general, if someone asks you to stop, then stop. + * Advocating for, or encouraging, any of the above behaviour. + +### Diversity Statement + +The NumPy project welcomes and encourages participation by everyone. We are committed to being a community that everyone enjoys being part of. Although we may not always be able to accommodate each individual’s preferences, we try our best to treat everyone kindly. + +No matter how you identify yourself or how others perceive you: we welcome you. Though no list can hope to be comprehensive, we explicitly honour diversity in: age, culture, ethnicity, genotype, gender identity or expression, language, national origin, neurotype, phenotype, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, subculture and technical ability, to the extent that these do not conflict with this code of conduct. + +Though we welcome people fluent in all languages, NumPy development is conducted in English. + +Standards for behaviour in the NumPy community are detailed in the Code of Conduct above. Participants in our community should uphold these standards in all their interactions and help others to do so as well (see next section). + +### Reporting Guidelines + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We also recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this Code of Conduct. Please keep this in mind when deciding on how to respond to a breach of this Code. + +For clearly intentional breaches, report those to the Code of Conduct Committee (see below). For possibly unintentional breaches, you may reply to the person and point out this code of conduct (either in public or in private, whatever is most appropriate). If you would prefer not to do that, please feel free to report to the Code of Conduct Committee directly, or ask the Committee for advice, in confidence. + +You can report issues to the NumPy Code of Conduct Committee at numpy-conduct@googlegroups.com. + +Currently, the Committee consists of: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +If your report involves any members of the Committee, or if they feel they have a conflict of interest in handling it, then they will recuse themselves from considering your report. Alternatively, if for any reason you feel uncomfortable making a report to the Committee, then you can also contact senior NumFOCUS staff at [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### Incident reporting resolution & Code of Conduct enforcement + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](report-handling-manual). + +We will investigate and respond to all complaints. The NumPy Code of Conduct Committee and the NumPy Steering Committee (if involved) will protect the identity of the reporter, and treat the content of complaints as confidential (unless the reporter agrees otherwise). + +In case of severe and obvious breaches, e.g. personal threat or violent, sexist or racist language, we will immediately disconnect the originator from NumPy communication channels; please see the manual for details. + +In cases not involving clear severe and obvious breaches of this Code of Conduct the process for acting on any received Code of Conduct violation report will be: + +1. acknowledge report is received, +2. reasonable discussion/feedback, +3. mediation (if feedback didn’t help, and only if both reporter and reportee agree to this), +4. enforcement via transparent decision (see [Resolutions](report-handling-manual/#resolutions)) by the Code of Conduct Committee. + +The Committee will respond to any report as soon as possible, and at most within 72 hours. + +### Endnotes + +We are thankful to the groups behind the following documents, from which we drew content and inspiration: + +- [The SciPy Code of Conduct](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/ca/community.md b/content/ca/community.md new file mode 100644 index 0000000000..5034fba239 --- /dev/null +++ b/content/ca/community.md @@ -0,0 +1,66 @@ +--- +title: Community +sidebar: false +--- + +NumPy is a community-driven open source project developed by a diverse group of [contributors](/teams/). The NumPy leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read the [NumPy Code of Conduct](/code-of-conduct) for guidance on how to interact with others in a way that makes the community thrive. + +We offer several communication channels to learn, share your knowledge and connect with others within the NumPy community. + + +## Participate online + +The following are ways to engage directly with the NumPy project and community. _Please note that we encourage users and community members to support each other for usage questions - see [Get Help](/gethelp)._ + + +### [NumPy mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) + +This list is the main forum for longer-form discussions, like adding new features to NumPy, making changes to the NumPy Roadmap, and all kinds of project-wide decision making. Announcements about NumPy, such as for releases, developer meetings, sprints or conference talks are also made on this list. + +On this list please use bottom posting, reply to the list (rather than to another sender), and don't reply to digests. A searchable archive of this list is available [here](https://mail.python.org/archives/list/numpy-discussion@python.org/). + +*** + +### [GitHub issue tracker](https://github.com/numpy/numpy/issues) + +- For bug reports (e.g. "`np.arange(3).shape` returns `(5,)`, when it should return `(3,)`"); +- documentation issues (e.g. "I found this section unclear"); +- and feature requests (e.g. "I would like to have a new interpolation method in `np.percentile`"). + +_Please note that GitHub is not the right place to report a security vulnerability. If you think you have found a security vulnerability in NumPy, please report it [here](https://tidelift.com/docs/security)._ + +*** + +### [Slack](https://numpy-team.slack.com) + +A real-time chat room to ask questions about _contributing_ to NumPy. This is a private space, specifically meant for people who are hesitant to bring up their questions or ideas on a large public mailing list or GitHub. Please see [here](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) for more details and how to get an invite. + + +## Study Groups and Meetups + +If you would like to find a local meetup or study group to learn more about NumPy and the wider ecosystem of Python packages for data science and scientific computing, we recommend exploring the [PyData meetups](https://www.meetup.com/pro/pydata/) (150+ meetups, 100,000+ members). + +NumPy also organizes in-person sprints for its team and interested contributors occasionally. These are typically planned several months in advance and will be announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) and [Twitter](https://twitter.com/numpy_team). + + +## Conferences + +The NumPy project doesn't organize its own conferences. The conferences that have traditionally been most popular with NumPy maintainers, contributors and users are the SciPy and PyData conference series: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (15-20 events a year spread over many countries) + +Many of these conferences include tutorial days that cover NumPy and/or sprints where you can learn how to contribute to NumPy or related open source projects. + + +## Join the NumPy community + +To thrive, the NumPy project needs your expertise and enthusiasm. Not a coder? Not a problem! There are many ways to contribute to NumPy. + +If you are interested in becoming a NumPy contributor (yay!) we recommend checking out our [Contribute](/contribute) page. + +Also, feel free to stop by and say hi at one of our community meetings. To keep track of them, check out our events calendar [here](https://scientific-python.org/calendars/). diff --git a/content/ca/config.yaml b/content/ca/config.yaml new file mode 100644 index 0000000000..694aba3175 --- /dev/null +++ b/content/ca/config.yaml @@ -0,0 +1,137 @@ +languageName: English +params: + description: Why NumPy? Powerful n-dimensional arrays. Numerical computing tools. Interoperable. Performant. Open source. + navbarlogo: + image: logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: The fundamental package for scientific computing with Python + #Button text + buttontext: "Latest release: NumPy 2.0. View all releases" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: placeholder + intro: + - + title: Try NumPy + text: Use the interactive shell to try NumPy in the browser + docslink: Don't forget to check out the docs. + casestudies: + title: CASE STUDIES + features: + - + title: First Image of a Black Hole + text: How NumPy, together with libraries like SciPy and Matplotlib that depend on NumPy, enabled the Event Horizon Telescope to produce the first ever image of a black hole + img: /images/content_images/case_studies/blackhole.png + alttext: First image of a black hole. It is an orange circle in a black background. + url: /case-studies/blackhole-image + - + title: Detection of Gravitational Waves + text: In 1916, Albert Einstein predicted gravitational waves; 100 years later their existence was confirmed by LIGO scientists using NumPy. + img: /images/content_images/case_studies/gravitional.png + alttext: Two orbs orbiting each other. They are displacing gravity around them. + url: /case-studies/gw-discov + - + title: Sports Analytics + text: Cricket Analytics is changing the game by improving player and team performance through statistical modelling and predictive analytics. NumPy enables many of these analyses. + img: /images/content_images/case_studies/sports.jpg + alttext: Cricket ball on green field. + url: /case-studies/cricket-analytics + - + title: Pose Estimation using deep learning + text: DeepLabCut uses NumPy for accelerating scientific studies that involve observing animal behavior for better understanding of motor control, across species and timescales. + img: /images/content_images/case_studies/deeplabcut.png + alttext: Cheetah pose analysis + url: /case-studies/deeplabcut-dnn + tabs: + title: ECOSYSTEM + section5: false + navbar: + - + title: Install + url: /install + - + title: Documentation + url: https://numpy.org/doc/stable + - + title: Learn + url: /learn + - + title: Community + url: /community + - + title: About Us + url: /about + - + title: News + url: /news + - + title: Contribute + url: /contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: Install + link: /install + - + text: Documentation + link: https://numpy.org/doc/stable + - + text: Learn + link: /learn + - + text: Citing Numpy + link: /citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /about + - + text: Community + link: /community + - + text: User surveys + link: /user-surveys + - + text: Contribute + link: /contribute + - + text: Code of conduct + link: /code-of-conduct + column3: + links: + - + text: Get help + link: /gethelp + - + text: Terms of use + link: /terms + - + text: Privacy + link: /privacy + - + text: Press kit + link: /press-kit diff --git a/content/ca/contribute.md b/content/ca/contribute.md new file mode 100644 index 0000000000..0826a76184 --- /dev/null +++ b/content/ca/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribute to NumPy +sidebar: false +--- + +The NumPy project welcomes your expertise and enthusiasm! Your choices aren't limited to programming, as you can see below there are many areas where we need **your** help. + +If you're unsure where to start or how your skills fit in, _reach out!_ You can ask on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) or [GitHub](http://github.com/numpy/numpy) (open an [issue](https://github.com/numpy/numpy/issues) or comment on a relevant issue). + +Those are our preferred channels (open source is open by nature), but if you prefer to talk privately, contact our community coordinators at or on [Slack](https://numpy-team.slack.com) (write for an invite). + +We also have a biweekly _community call_, details of which are announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion). You are very welcome to join. If you are new to contributing to open source, we also highly recommend reading [this guide](https://opensource.guide/how-to-contribute/). + +Our community aspires to treat everyone equally and to value all contributions. We have a [Code of Conduct](/code-of-conduct) to foster an open and welcoming environment. + +### Writing code + +Programmers, this [guide](https://numpy.org/devdocs/dev/index.html#development-process-summary) explains how to contribute to the NumPy codebase.
Check out also our [YouTube channel](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) for additional advice. + +### Reviewing pull requests +The project has more than 250 open pull requests -- meaning many potential improvements and many open-source contributors waiting for feedback. If you're a developer who knows NumPy, you can help even if you're not familiar with the codebase. You can: +* summarize a long-running discussion +* triage documentation PRs +* test proposed changes + +### Developing educational materials + +NumPy's [User Guide](https://numpy.org/devdocs) is undergoing rehabilitation. We're in need of new tutorials, how-to's, and deep-dive explanations, and the site needs restructuring. Opportunities aren't limited to writers. We'd also welcome worked examples, notebooks, and videos. [NEP 44 — Restructuring the NumPyDocumentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) lays out our ideas -- and you may have others. + +### Issue triaging + +The [NumPy issue tracker](https://github.com/numpy/numpy/issues) has a _lot_ of open issues. Some are no longer valid, some should be prioritized, and some would make good issues for new contributors. You can: + +* check if older bugs are still present +* find duplicate issues and link related ones +* add good self-contained reproducers to issues +* label issues correctly (this requires triage rights -- just ask) + +Please just dive in. + +### Website development + +We've just revamped our website, but we're far from done. If you love web development, these [issues](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) list some of our unmet needs -- and feel free to share your own ideas. + +### Graphic design + +We can barely begin to list the contributions a graphic designer can make here. Our docs are parched for illustration; our growing website craves images -- opportunities abound. + +### Translating website content + +We plan multiple translations of [numpy.org](https://numpy.org) to make NumPy accessible to users in their native language. Volunteer translators are at the heart of this effort. See [here](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) for background; comment on [this GitHub issue](https://github.com/numpy/numpy.org/issues/55) to sign up. + +### Community coordination and outreach + +Through community contact we share our work more widely and learn where we're falling short. We're eager to get more people involved in efforts like our [Twitter](https://twitter.com/numpy_team) account, organizing NumPy [code sprints](https://scisprints.github.io/), a newsletter, and perhaps a blog. + +### Fundraising + +For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. [This SciPy'19 talk](https://www.youtube.com/watch?v=dBTJD_FDVjU) explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here -- we'd appreciate your help. + +### Donate + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/ca/gethelp.md b/content/ca/gethelp.md new file mode 100644 index 0000000000..da3bff67a5 --- /dev/null +++ b/content/ca/gethelp.md @@ -0,0 +1,20 @@ +--- +title: Get Help +sidebar: false +--- + +**Development issues:** For NumPy development-related matters (e.g., bug reports), please see [Community](/community). + +**User questions:** The best way to get help is to post your question to a site like [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) or [Reddit](https://www.reddit.com/r/Numpy/). We wish we could keep an eye on these sites, or answer questions directly, but the volume is a little overwhelming! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +A forum for asking usage questions, e.g. "How do I do X in NumPy?”. Please [use the `#numpy` tag](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +Another forum for usage questions. + +*** diff --git a/content/ca/history.md b/content/ca/history.md new file mode 100644 index 0000000000..aa669d375b --- /dev/null +++ b/content/ca/history.md @@ -0,0 +1,21 @@ +--- +title: History of NumPy +sidebar: false +--- + +NumPy is a foundational Python library that provides array data structures and related fast numerical routines. When started, the library had little funding, and was written mainly by graduate students—many of them without computer science education, and often without a blessing of their advisors. To even imagine that a small group of “rogue” student programmers could upend the already well-established ecosystem of research software—backed by millions in funding and many hundreds of highly qualified engineers — was preposterous. Yet, the philosophical motivations behind a fully open tool stack, in combination with the excited, friendly community with a singular focus, have proven auspicious in the long run. Nowadays, NumPy is relied upon by scientists, engineers, and many other professionals around the world. For example, the published scripts used in the analysis of gravitational waves import NumPy, and the M87 black hole imaging project directly cites NumPy. + +For the in-depth account on milestones in the development of NumPy and related libraries please see [arxiv.org](https://arxiv.org/abs/1907.10121). + +If you’d like to obtain a copy of the original Numeric and Numarray libraries, follow the links below: + +[Download Page for *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[Download Page for *Numarray*](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*Please note that these older array packages are no longer maintained, and users are strongly advised to use NumPy for any array-related purposes or refactor any pre-existing code to utilize the NumPy library. + +### Historic Documentation + +[Download *`Numeric'* Manual](static/numeric-manual.pdf) + diff --git a/content/ca/install.md b/content/ca/install.md new file mode 100644 index 0000000000..f64a17841d --- /dev/null +++ b/content/ca/install.md @@ -0,0 +1,126 @@ +--- +title: Installing NumPy +sidebar: false +--- + +The only prerequisite for installing NumPy is Python itself. If you don't have Python yet and want the simplest way to get started, we recommend you use the [Anaconda Distribution](https://www.anaconda.com/download) - it includes Python, NumPy, and many other commonly used packages for scientific computing and data science. + +NumPy can be installed with `conda`, with `pip`, with a package manager on macOS and Linux, or [from source](https://numpy.org/devdocs/building). For more detailed instructions, consult our [Python and NumPy installation guide](#python-numpy-install-guide) below. + +**CONDA** + +If you use `conda`, you can install NumPy from the `defaults` or `conda-forge` channels: + +```bash +# Best practice, use an environment rather than install in the base env +conda create -n my-env +conda activate my-env +# If you want to install from conda-forge +conda config --env --add channels conda-forge +# The actual install command +conda install numpy +``` + +**PIP** + +If you use `pip`, you can install NumPy with: + +```bash +pip install numpy +``` +Also when using pip, it's good practice to use a virtual environment - see [Reproducible Installs](#reproducible-installs) below for why, and [this guide](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) for details on using virtual environments. + + + + +# Python and NumPy installation guide + +Installing and managing packages in Python is complicated, there are a number of alternative solutions for most tasks. This guide tries to give the reader a sense of the best (or most popular) solutions, and give clear recommendations. It focuses on users of Python, NumPy, and the PyData (or numerical computing) stack on common operating systems and hardware. + +## Recommendations + +We'll start with recommendations based on the user's experience level and operating system of interest. If you're in between "beginning" and "advanced", please go with "beginning" if you want to keep things simple, and with "advanced" if you want to work according to best practices that go a longer way in the future. + +### Beginning users + +On all of Windows, macOS, and Linux: + +- Install [Anaconda](https://www.anaconda.com/download) (it installs all packages you need and all other tools mentioned below). +- For writing and executing code, use notebooks in [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) for exploratory and interactive computing, and [Spyder](https://www.spyder-ide.org/) or [Visual Studio Code](https://code.visualstudio.com/) for writing scripts and packages. +- Use [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) to manage your packages and start JupyterLab, Spyder, or Visual Studio Code. + + +### Advanced users + +#### Conda + +- Install [Miniforge](https://github.com/conda-forge/miniforge). +- Keep the `base` conda environment minimal, and use one or more [conda environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) to install the package you need for the task or project you're working on. + +#### Alternative if you prefer pip/PyPI + +For users who know, from personal preference or reading about the main differences between conda and pip below, they prefer a pip/PyPI-based solution, we recommend: +- Install Python from [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/), or your Linux package manager. +- Use [Poetry](https://python-poetry.org/) as the most well-maintained tool that provides a dependency resolver and environment management capabilities in a similar fashion as conda does. + + +## Python package management + +Managing packages is a challenging problem, and, as a result, there are lots of tools. For web and general purpose Python development there's a whole [host of tools](https://packaging.python.org/guides/tool-recommendations/) complementary with pip. For high-performance computing (HPC), [Spack](https://github.com/spack/spack) is worth considering. For most NumPy users though, [conda](https://conda.io/en/latest/) and [pip](https://pip.pypa.io/en/stable/) are the two most popular tools. + + +### Pip & conda + +The two main tools that install Python packages are `pip` and `conda`. Their functionality partially overlaps (e.g. both can install `numpy`), however, they can also work together. We'll discuss the major differences between pip and conda here - this is important to understand if you want to manage packages effectively. + +The first difference is that conda is cross-language and it can install Python, while pip is installed for a particular Python on your system and installs other packages to that same Python install only. This also means conda can install non-Python libraries and tools you may need (e.g. compilers, CUDA, HDF5), while pip can't. + +The second difference is that pip installs from the Python Packaging Index (PyPI), while conda installs from its own channels (typically "defaults" or "conda-forge"). PyPI is the largest collection of packages by far, however, all popular packages are available for conda as well. + +The third difference is that conda is an integrated solution for managing packages, dependencies and environments, while with pip you may need another tool (there are many!) for dealing with environments or complex dependencies. + + + +### Reproducible installs + +As libraries get updated, results from running your code can change, or your code can break completely. It's important to be able to reconstruct the set of packages and versions you're using. Best practice is to: + +1. use a different environment per project you're working on, +2. record package names and versions using your package installer; each has its own metadata format for this: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [virtual environments](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy packages & accelerated linear algebra libraries + +NumPy doesn't depend on any other Python packages, however, it does depend on an accelerated linear algebra library - typically [Intel MKL](https://software.intel.com/en-us/mkl) or [OpenBLAS](https://www.openblas.net/). Users don't have to worry about installing those (they're automatically included in all NumPy install methods). Power users may still want to know the details, because the used BLAS can affect performance, behavior and size on disk: + +- The NumPy wheels on PyPI, which is what pip installs, are built with OpenBLAS. The OpenBLAS libraries are included in the wheel. This makes the wheel larger, and if a user installs (for example) SciPy as well, they will now have two copies of OpenBLAS on disk. + +- In the conda defaults channel, NumPy is built against Intel MKL. MKL is a separate package that will be installed in the users' environment when they install NumPy. + +- In the conda-forge channel, NumPy is built against a dummy "BLAS" package. When a user installs NumPy from conda-forge, that BLAS package then gets installed together with the actual library - this defaults to OpenBLAS, but it can also be MKL (from the defaults channel), or even [BLIS](https://github.com/flame/blis) or reference BLAS. + +- The MKL package is a lot larger than OpenBLAS, it's about 700 MB on disk while OpenBLAS is about 30 MB. + +- MKL is typically a little faster and more robust than OpenBLAS. + +Besides install sizes, performance and robustness, there are two more things to consider: + +- Intel MKL is not open source. For normal use this is not a problem, but if a user needs to redistribute an application built with NumPy, this could be an issue. +- Both MKL and OpenBLAS will use multi-threading for function calls like `np.dot`, with the number of threads being determined by both a build-time option and an environment variable. Often all CPU cores will be used. This is sometimes unexpected for users; NumPy itself doesn't auto-parallelize any function calls. It typically yields better performance, but can also be harmful - for example when using another level of parallelization with Dask, scikit-learn or multiprocessing. + + +## Troubleshooting + +If your installation fails with the message below, see [Troubleshooting ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html). + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for +different reasons, often due to issues with your setup. +``` + diff --git a/content/ca/learn.md b/content/ca/learn.md new file mode 100644 index 0000000000..4f9fa53ae3 --- /dev/null +++ b/content/ca/learn.md @@ -0,0 +1,76 @@ +--- +title: Learn +sidebar: false +--- + +For the **official NumPy documentation** visit [numpy.org/doc/stable](https://numpy.org/doc/stable). + +*** + +Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community. + +## Beginners + +There's a ton of information about NumPy out there. If you are just starting, we'd strongly recommend the following: + + **Tutorials** + +* [NumPy Quickstart Tutorial](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). +* [NumPy Illustrated: The Visual Guide to NumPy *by Lev Maximov*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://lectures.scientific-python.org/) Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem. +* [NumPy: the absolute basics for beginners](https://numpy.org/devdocs/user/absolute_beginners.html) +* [NumPy tutorial *by Nicolas Rougier*](https://github.com/rougier/numpy-tutorial) +* [Stanford CS231 *by Justin Johnson*](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy User Guide](https://numpy.org/devdocs) + + **Books** + +* [Guide to NumPy *by Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) This is a free version 1 from 2006. For the latest copy (2015) see [here](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1144670472). +* [From Python to NumPy *by Nicolas P. Rougier*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [Elegant SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) *by Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow* + +You may also want to check out the [Goodreads list](https://www.goodreads.com/shelf/show/python-scipy) on the subject of "Python+SciPy." Most books there are about the "SciPy ecosystem," which has NumPy at its core. + + **Videos** + +* [Introduction to Numerical Computing with NumPy](http://youtu.be/ZB7BZMhfPgk) *by Alex Chabot-Leclerc* + +*** + +## Advanced + +Try these advanced resources for a better understanding of NumPy concepts like advanced indexing, splitting, stacking, linear algebra, and more. + + **Tutorials** + +* [100 NumPy Exercises](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) *by Nicolas P. Rougier* +* [An Introduction to NumPy and Scipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) *by M. Scott Shell* +* [Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) *by Stéfan van der Walt* +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). + + **Books** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1098121228) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X) *by Wes McKinney* +* [Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) *by Robert Johansson* + + **Videos** + +* [Advanced NumPy - broadcasting rules, strides, and advanced indexing](https://www.youtube.com/watch?v=cYugp9IN1-Q) *by Juan Nunez-Iglesias* + +*** + +## NumPy Talks + +* [The Future of NumPy Indexing](https://www.youtube.com/watch?v=o0EacbIbf58) *by Jaime Fernández* (2016) +* [Evolution of Array Computing in Python](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) *by Ralf Gommers* (2019) +* [NumPy: what has changed and what is going to change?](https://www.youtube.com/watch?v=YFLVQFjRmPY) *by Matti Picus* (2019) +* [Inside NumPy](https://www.youtube.com/watch?v=dBTJD_FDVjU) *by Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris* (2019) +* [Brief Review of Array Computing in Python](https://www.youtube.com/watch?v=f176j2g2eNc) *by Travis Oliphant* (2019) + +*** + +## Citing NumPy + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, please see [this citation information](/citing-numpy). diff --git a/content/ca/news.md b/content/ca/news.md new file mode 100644 index 0000000000..ef4ceee0dd --- /dev/null +++ b/content/ca/news.md @@ -0,0 +1,307 @@ +--- +title: News +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2024-08-18 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0.0 released + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 release date: June 16 + +_23 May, 2024_ -- We are excited to announce that NumPy 2.0 is planned to be released on June 16, 2024. This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains **breaking changes** to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy `2.0.0rc2`. **Please see the following for more details:** + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUS end of the year fundraiser +_Dec 19, 2023_ -- NumFOCUS has teamed up with PyCharm during their EOY campaign to offer a 30% discount on first-time PyCharm licenses. All year-one revenue from PyCharm purchases from now until December 23rd, 2023 will go directly to the NumFOCUS programs. + +Use unique URL that will allow to track purchases https://lp.jetbrains.com/support-data-science/ or a coupon code ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 released + +_Sep 16, 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) is now available. The highlights of the release are: + +* Python 3.12.0 support. +* Cython 3.0.0 compatibility. +* Use of the Meson build system +* Updated SIMD support +* f2py fixes, meson and bind(x) support +* Support for the updated Accelerate BLAS/LAPACK library + +The NumPy 1.26.0 release is a continuation of the 1.25.x series that marks the transition to the Meson build system and provision of support for Cython 3.0.0. A total of 20 people contributed to this release and 59 pull requests were merged. + +The Python versions supported by this release are 3.9-3.12. + +### numpy.org is now available in Japanese and Portuguese + +_Aug 2, 2023_ -- numpy.org is now available in 2 additional languages: Japanese and Portuguese. This wouldn’t be possible without our dedicated volunteers: + +_Portuguese:_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japanese:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +The work on the translation infrastructure is supported with funding from CZI. + +Looking ahead, we’d love to translate the website into more languages. If you’d like to help, please connect with the NumPy Translations Team on Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Look for the #translations channel.) We are also building a Translations Team who will be working on localizing documentation and educational content across the Scientific Python ecosystem. If this piqued your interest, join us on the Scientific Python Discord: https://discord.gg/khWtqY6RKr. (Look for the #translation channel.) + +### NumPy 1.25.0 released + +_Jun 17, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) is now available. The highlights of the release are: + +* Support for MUSL, there are now MUSL wheels. +* Support for the Fujitsu C/C++ compiler. +* Object arrays are now supported in einsum. +* Support for the inplace matrix multiplication (`@=`). + +The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been preparatory work for the future NumPy 2.0.0, resulting in a large number of new and expired deprecations. + +A total of 148 people contributed to this release and 530 pull requests were merged. + +The Python versions supported by this release are 3.9-3.11. + +### Fostering an Inclusive Culture: Call for Participation + +_May 10, 2023_ -- Fostering an Inclusive Culture: Call for Participation + +How can we be better when it comes to diversity and inclusion? Read the report and find out how to get involved [here](https://contributor-experience.org/docs/posts/dei-report/). + +### NumPy documentation team leadership transition + +_Jan 6, 2023_ –- Mukulika Pahari and Ross Barnowski are appointed as the new NumPy documentation team leads replacing Melissa Mendonça. We thank Melissa for all her contributions to the NumPy official documentation and educational materials, and Mukulika and Ross for stepping up. + +### NumPy 1.24.0 released + +_Dec 18, 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) is now available. The highlights of the release are: + +* New "dtype" and "casting" keywords for stacking functions. +* New F2PY features and fixes. +* Many new deprecations, check them out. +* Many expired deprecations, + +The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase execution speed, and clarify the documentation. There are a large number of new and expired deprecations due to changes in dtype promotion and cleanups. It is the work of 177 contributors spread over 444 pull requests. The supported Python versions are 3.8-3.11. + +### Numpy 1.23.0 released + +_Jun 22, 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) is now available. The highlights of the release are: + +* Implementation of `loadtxt` in C, greatly improving its performance. +* Exposure of DLPack at the Python level for easy data exchange. +* Changes to the promotion and comparisons of structured dtypes. +* Improvements to f2py. + +The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. It is the work of 151 contributors spread over 494 pull requests. The Python versions supported by this release 3.8-3.10. Python 3.11 will be supported when it reaches the rc stage. + +### NumFOCUS DEI research study: call for participation + +_Apr 13, 2022_ -- NumPy is working with [NumFOCUS](http://numfocus.org/) on a [research project](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) funded by the [Gordon & Betty Moore Foundation](https://www.moore.org/) to understand the barriers to participation that contributors, particularly those from historically underrepresented groups, face in the open-source software community. The research team would like to talk to new contributors, project developers and maintainers, and those who have contributed in the past about their experiences joining and contributing to NumPy. + +**Interested in sharing your experiences?** + +Please complete this brief [“Participant Interest” form](https://numfocus.typeform.com/to/WBWVJSqe) which contains additional information on the research goals, privacy, and confidentiality considerations. Your participation will be valuable to the growth and sustainability of diverse and inclusive open-source software communities. Accepted participants will participate in a 30-minute interview with a research team member. + +### Numpy 1.22.0 release + +_Dec 31, 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) is now available. The highlights of the release are: + +* Type annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release. +* A preliminary version of the proposed [array API Standard](https://data-apis.org/array-api/latest/) is provided (see [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). This is a step in creating a standard collection of functions that can be used across libraries such as CuPy and JAX. +* NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data. +* New methods for `quantile`, `percentile`, and related functions. The new methods provide a complete set of the methods commonly found in the literature. +* The universal functions have been refactored to implement most of [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html). This also unlocks the ability to experiment with the future DType API. +* A new configurable memory allocator for use by downstream projects. + +NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. The Python versions supported by this release are 3.8-3.10. + +### Advancing an inclusive culture in the scientific Python ecosystem + +_August 31, 2021_ -- We are happy to announce the Chan Zuckerberg Initiative has [awarded a grant](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) to support the onboarding, inclusion, and retention of people from historically marginalized groups on scientific Python projects, and to structurally improve the community dynamics for NumPy, SciPy, Matplotlib, and Pandas. + +As a part of [CZI's Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/), this [Diversity & Inclusion supplemental grant](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) will support the creation of dedicated Contributor Experience Lead positions to identify, document, and implement practices to foster inclusive open-source communities. This project will be led by Melissa Mendonça (NumPy), with additional mentorship and guidance provided by Ralf Gommers (NumPy, SciPy), Hannah Aizenman and Thomas Caswell (Matplotlib), Matt Haberland (SciPy), and Joris Van den Bossche (Pandas). + +This is an ambitious project aiming to discover and implement activities that should structurally improve the community dynamics of our projects. By establishing these new cross-project roles, we hope to introduce a new collaboration model to the Scientific Python communities, allowing community-building work within the ecosystem to be done more efficiently and with greater outcomes. We also expect to develop a clearer picture of what works and what doesn't in our projects to engage and retain new contributors, especially from historically underrepresented groups. Finally, we plan on producing detailed reports on the actions executed, explaining how they have impacted our projects in terms of representation and interaction with our communities. + +The two-year project is expected to start by November 2021, and we are excited to see the results from this work! [You can read the full proposal here](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### 2021 NumPy survey + +_July 12, 2021_ -- At NumPy, we believe in the power of our community. 1,236 NumPy users from 75 countries participated in our inaugural survey last year. The survey findings gave us a very good understanding of what we should focus on for the next 12 months. + +It’s time for another survey, and we are counting on you once again. It will take about 15 minutes of your time. Besides English, the survey questionnaire is available in 8 additional languages: Bangla, French, Hindi, Japanese, Mandarin, Portuguese, Russian, and Spanish. + +Follow the link to get started: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Numpy 1.21.0 release + +_Jun 23, 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) is now available. The highlights of the release are: + +- continued SIMD work covering more functions and platforms, +- initial work on the new dtype infrastructure and casting, +- universal2 wheels for Python 3.8 and Python 3.9 on Mac, +- improved documentation, +- improved annotations, +- new `PCG64DXSM` bitgenerator for random numbers. + +This NumPy release is the result of 581 merged pull requests contributed by 175 people. The Python versions supported for this release are 3.7-3.9, support for Python 3.10 will be added after Python 3.10 is released. + + +### 2020 NumPy survey results + +_Jun 22, 2021_ -- In 2020, the NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results here: https://numpy.org/user-survey-2020/. + + +### Numpy 1.20.0 release + +_Jan 30, 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) is now available. This is the largest NumPy release to date, thanks to 180+ contributors. The two most exciting new features are: +- Type annotations for large parts of NumPy, and a new `numpy.typing` submodule containing `ArrayLike` and `DtypeLike` aliases that users and downstream libraries can use when adding type annotations in their own code. +- Multi-platform SIMD compiler optimizations, with support for x86 (SSE, AVX), ARM64 (Neon), and PowerPC (VSX) instructions. This yielded significant performance improvements for many functions (examples: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversity in the NumPy project + +_Sep 20, 2020_ -- We wrote a [statement on the state of, and discussion on social media around, diversity and inclusion in the NumPy project](/diversity_sep2020). + + +### First official NumPy paper published in Nature! + +_Sep 16, 2020_ -- We are pleased to announce the publication of [the first official paper on NumPy](https://www.nature.com/articles/s41586-020-2649-2) as a review article in Nature. This comes 14 years after the release of NumPy 1.0. The paper covers applications and fundamental concepts of array programming, the rich scientific Python ecosystem built on top of NumPy, and the recently added array protocols to facilitate interoperability with external array and tensor libraries like CuPy, Dask, and JAX. + + +### Python 3.9 is coming, when will NumPy release binary wheels? + +_Sept 14, 2020_ -- Python 3.9 will be released in a few weeks. If you are an early adopter of Python versions, you may be dissapointed to find that NumPy (and other binary packages like SciPy) will not have binary wheels ready on the day of the release. It is a major effort to adapt the build infrastructure to a new Python version and it typically takes a few weeks for the packages to appear on PyPI and conda-forge. In preparation for this event, please make sure to +- update your `pip` to version 20.1 at least to support `manylinux2010` and `manylinux2014` +- use [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) or `--only-binary=:all:` to prevent `pip` from trying to build from source. + + +### Numpy 1.19.2 release + +_Sep 10, 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) is now available. This latest release in the 1.19 series fixes several bugs, prepares for the [upcoming Cython 3.x release](http://docs.cython.org/en/latest/src/changes.html) and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros. + +### The inaugural NumPy survey is live! + +_Jul 2, 2020_ -- This survey is meant to guide and set priorities for decision-making about the development of NumPy as software and as a community. The survey is available in 8 additional languages besides English: Bangla, Hindi, Japanese, Mandarin, Portuguese, Russian, Spanish and French. + +Please help us make NumPy better and take the survey [here](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy has a new logo! + +_Jun 24, 2020_ -- NumPy now has a new logo: + +NumPy logo + +The logo is a modern take on the old one, with a cleaner design. Thanks to Isabela Presedo-Floyd for designing the new logo, as well as to Travis Vaught for the old logo that served us well for 15+ years. + + +### NumPy 1.19.0 release + +_Jun 20, 2020_ -- NumPy 1.19.0 is now available. This is the first release without Python 2 support, hence it was a "clean-up release". The minimum supported Python version is now Python 3.6. An important new feature is that the random number generation infrastructure that was introduced in NumPy 1.17.0 is now accessible from Cython. + + +### Season of Docs acceptance + +_May 11, 2020_ -- NumPy has been accepted as one of the mentor organizations for the Google Season of Docs program. We are excited about the opportunity to work with a technical writer to improve NumPy's documentation once again! For more details, please see [the official Season of Docs site](https://developers.google.com/season-of-docs/) and our [ideas page](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### NumPy 1.18.0 release + +_Dec 22, 2019_ -- NumPy 1.18.0 is now available. After the major changes in 1.17.0, this is a consolidation release. It is the last minor release that will support Python 3.5. Highlights of the release includes the addition of basic infrastructure for linking with 64-bit BLAS and LAPACK libraries, and a new C-API for `numpy.random`. + +Please see the [release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0) for more details. + + +### NumPy receives a grant from the Chan Zuckerberg Initiative + +_Nov 15, 2019_ -- We are pleased to announce that NumPy and OpenBLAS, one of NumPy's key dependencies, have received a joint grant for $195,000 from the Chan Zuckerberg Initiative through their [Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/) that supports software maintenance, growth, development, and community engagement for open source tools critical to science. + +This grant will be used to ramp up the efforts in improving NumPy documentation, website redesign, and community development to better serve our large and rapidly growing user base, and ensure the long-term sustainability of the project. While the OpenBLAS team will focus on addressing sets of key technical issues, in particular thread-safety, AVX-512, and thread-local storage (TLS) issues, as well as algorithmic improvements in ReLAPACK (Recursive LAPACK) on which OpenBLAS depends. + +More details on our proposed initiatives and deliverables can be found in the [full grant proposal](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). The work is scheduled to start on Dec 1st, 2019 and continue for the next 12 months. + + + + +## Releases + +Here is a list of NumPy releases, with links to release notes. Bugfix releases (only the `z` changes in the `x.y.z` version number) have no new features; minor releases (the `y` increases) do. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 Feb 2024_. +- NumPy 1.26.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 Jan 2024_. +- NumPy 1.26.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 Nov 2023_. +- NumPy 1.26.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 Oct 2023_. +- NumPy 1.26.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 Sep 2023_. +- NumPy 1.25.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 Jul 2023_. +- NumPy 1.25.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 Jul 2023_. +- NumPy 1.24.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 Jun 2023_. +- NumPy 1.25.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 Jun 2023_. +- NumPy 1.24.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 Apr 2023_. +- NumPy 1.24.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 Feb 2023_. +- NumPy 1.24.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 Dec 2022_. +- NumPy 1.24.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 Dec 2022_. +- NumPy 1.23.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _19 Nov 2022_. +- NumPy 1.23.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 Oct 2022_. +- NumPy 1.23.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 Sep 2022_. +- NumPy 1.23.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 Aug 2022_. +- NumPy 1.23.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 Jul 2022_. +- NumPy 1.23.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 Jun 2022_. +- NumPy 1.22.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 May 2022_. +- NumPy 1.21.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 Apr 2022_. +- NumPy 1.22.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 Mar 2022_. +- NumPy 1.22.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 Feb 2022_. +- NumPy 1.22.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 Jan 2022_. +- NumPy 1.22.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _31 Dec 2021_. +- NumPy 1.21.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _19 Dec 2021_. +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 Jun 2021_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 May 2021_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 Jan 2021_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 Jan 2021_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 Jun 2020_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 May 2020_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 Jan 2020_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 Dec 2019_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 Jul 2019_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 Jul 2018_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 Jan 2018_. diff --git a/content/ca/press-kit.md b/content/ca/press-kit.md new file mode 100644 index 0000000000..2c8970bb29 --- /dev/null +++ b/content/ca/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press kit +sidebar: false +--- + +We would like to make it easy for you to include the NumPy project identity in your next academic paper, course materials, or presentation. + +You will find several high-resolution versions of the NumPy logo [here](https://github.com/numpy/numpy/tree/main/branding/logo). Note that by using the numpy.org resources, you accept the [NumPy Code of Conduct](/code-of-conduct). diff --git a/content/ca/privacy.md b/content/ca/privacy.md new file mode 100644 index 0000000000..6064e4c4f1 --- /dev/null +++ b/content/ca/privacy.md @@ -0,0 +1,8 @@ +--- +title: Privacy Policy +sidebar: false +--- + +**numpy.org** is operated by [NumFOCUS, Inc.](https://numfocus.org), the fiscal sponsor of the NumPy project. For the Privacy Policy of this website please refer to https://numfocus.org/privacy-policy. + +If you have any questions about the policy or NumFOCUS’s data collection, use, and disclosure practices, please contact the NumFOCUS staff at privacy@numfocus.org. diff --git a/content/ca/report-handling-manual.md b/content/ca/report-handling-manual.md new file mode 100644 index 0000000000..5586668cba --- /dev/null +++ b/content/ca/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: NumPy Code of Conduct - How to follow up on a report +sidebar: false +--- + +This is the manual followed by NumPy’s Code of Conduct Committee. It’s used when we respond to an issue to make sure we’re consistent and fair. + +Enforcing the [Code of Conduct](/code-of-conduct) impacts our community today and for the future. It’s an action that we do not take lightly. When reviewing enforcement measures, the Code of Conduct Committee will keep the following values and guidelines in mind: + +* Act in a personal manner rather than impersonal. The Committee can engage the parties to understand the situation while respecting the privacy and any necessary confidentiality of reporters. However, sometimes it is necessary to communicate with one or more individuals directly: the Committee’s goal is to improve the health of our community rather than only produce a formal decision. +* Emphasize empathy for individuals rather than judging behavior, avoiding binary labels of “good” and “bad/evil”. Overt, clear-cut aggression and harassment exist, and we will address them firmly. But many scenarios that can prove challenging to resolve are those where normal disagreements devolve into unhelpful or harmful behavior from multiple parties. Understanding the full context and finding a path that re-engages all is hard, but ultimately the most productive for our community. +* We understand that email is a difficult medium and can be isolating. Receiving criticism over email, without personal contact, can be particularly painful. This makes it especially important to keep an atmosphere of open-minded respect for the views of others. It also means that we must be transparent in our actions, and that we will do everything in our power to make sure that all our members are treated fairly and with sympathy. +* Discrimination can be subtle and it can be unconscious. It can show itself as unfairness and hostility in otherwise ordinary interactions. We know that this does occur, and we will take care to look out for it. We would very much like to hear from you if you feel you have been treated unfairly, and we will use these procedures to make sure that your complaint is heard and addressed. +* Help increase engagement in good discussion practice: try to identify where discussion may have broken down, and provide actionable information, pointers, and resources that can lead to positive change on these points. +* Be mindful of the needs of new members: provide them with explicit support and consideration, with the aim of increasing participation from underrepresented groups in particular. +* Individuals come from different cultural backgrounds and native languages. Try to identify any honest misunderstandings caused by a non-native speaker and help them understand the issue and what they can change to avoid causing offence. Complex discussion in a foreign language can be very intimidating, and we want to grow our diversity also across nationalities and cultures. + + +## Mediation + +Voluntary informal mediation is a tool at our disposal. In contexts such as when two or more parties have all escalated to the point of inappropriate behavior (something sadly common in human conflict), it may be useful to facilitate a mediation process. This is only an example: the Committee can consider mediation in any case, mindful that the process is meant to be strictly voluntary and no party can be pressured to participate. If the Committee suggests mediation, it should: + +* Find a candidate who can serve as a mediator. +* Obtain the agreement of the reporter(s). The reporter(s) have complete freedom to decline the mediation idea or to propose an alternate mediator. +* Obtain the agreement of the reported person(s). +* Settle on the mediator: while parties can propose a different mediator than the suggested candidate, only if a common agreement is reached on all terms can the process move forward. +* Establish a timeline for mediation to complete, ideally within two weeks. + +The mediator will engage with all the parties and seek a resolution that is satisfactory to all. Upon completion, the mediator will provide a report (vetted by all parties to the process) to the Committee, with recommendations on further steps. The Committee will then evaluate these results (whether a satisfactory resolution was achieved or not) and decide on any additional action deemed necessary. + + +## How the Committee will respond to reports + +When the Committee (or a Committee member) receives a report, they will first determine whether the report is about a clear and severe breach (as defined below). If so, immediate action needs to be taken in addition to the regular report handling process. + + +## Clear and severe breach actions + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We will deal quickly with clear and severe breaches like personal threats, violent, sexist or racist language. + +When a member of the Code of Conduct Committee becomes aware of a clear and severe breach, they will do the following: + +* Immediately disconnect the originator from all NumPy communication channels. +* Reply to the reporter that their report has been received and that the originator has been disconnected. +* In every case, the moderator should make a reasonable effort to contact the originator, and tell them specifically how their language or actions qualify as a “clear and severe breach”. The moderator should also say that, if the originator believes this is unfair or they want to be reconnected to NumPy, they have the right to ask for a review, as below, by the Code of Conduct Committee. The moderator should copy this explanation to the Code of Conduct Committee. +* The Code of Conduct Committee will formally review and sign off on all cases where this mechanism has been applied to make sure it is not being used to control ordinary heated disagreement. + + +## Report handling + +When a report is sent to the Committee they will immediately reply to the reporter to confirm receipt. This reply must be sent within 72 hours, and the group should strive to respond much quicker than that. + +If a report doesn’t contain enough information, the Committee will obtain all relevant data before acting. The Committee is empowered to act on the Steering Council’s behalf in contacting any individuals involved to get a more complete account of events. + +The Committee will then review the incident and determine, to the best of their ability: + +* What happened. +* Whether this event constitutes a Code of Conduct violation. +* Who are the responsible party(ies). +* Whether this is an ongoing situation, and there is a threat to anyone’s physical safety. + +This information will be collected in writing, and whenever possible the group’s deliberations will be recorded and retained (i.e. chat transcripts, email discussions, recorded conference calls, summaries of voice conversations, etc). + +It is important to retain an archive of all activities of this Committee to ensure consistency in behavior and provide institutional memory for the project. To assist in this, the default channel of discussion for this Committee will be a private mailing list accessible to current and future members of the Committee as well as members of the Steering Council upon justified request. If the Committee finds the need to use off-list communications (e.g. phone calls for early/rapid response), it should in all cases summarize these back to the list so there’s a good record of the process. + +The Code of Conduct Committee should aim to have a resolution agreed upon within two weeks. In the event that a resolution can’t be determined in that time, the Committee will respond to the reporter(s) with an update and projected timeline for resolution. + + +## Resolutions + +The Committee must agree on a resolution by consensus. If the group cannot reach consensus and deadlocks for over a week, the group will turn the matter over to the Steering Council for resolution. + +Possible responses may include: + +* Taking no further action: + - if we determine no violations have occurred; + - if the matter has been resolved publicly while the Committee was considering responses. +* Coordinating voluntary mediation: if all involved parties agree, the Committee may facilitate a mediation process as detailed above. +* Remind publicly, and point out that some behavior/actions/language have been judged inappropriate and why in the current context, or can but hurtful to some people, requesting the community to self-adjust. +* A private reprimand from the Committee to the individual(s) involved. In this case, the group chair will deliver that reprimand to the individual(s) over email, cc’ing the group. +* A public reprimand. In this case, the Committee chair will deliver that reprimand in the same venue that the violation occurred, within the limits of practicality. E.g., the original mailing list for an email violation, but for a chat room discussion where the person/context may be gone, they can be reached by other means. The group may choose to publish this message elsewhere for documentation purposes. +* A request for a public or private apology, assuming the reporter agrees to this idea: they may at their discretion refuse further contact with the violator. The chair will deliver this request. The Committee may, if it chooses, attach “strings” to this request: for example, the group may ask a violator to apologize in order to retain one’s membership on a mailing list. +* A “mutually agreed upon hiatus” where the Committee asks the individual to temporarily refrain from community participation. If the individual chooses not to take a temporary break voluntarily, the Committee may issue a “mandatory cooling off period”. +* A permanent or temporary ban from some or all NumPy spaces (mailing lists, gitter.im, etc.). The group will maintain records of all such bans so that they may be reviewed in the future or otherwise maintained. + +Once a resolution is agreed upon, but before it is enacted, the Committee will contact the original reporter and any other affected parties and explain the proposed resolution. The Committee will ask if this resolution is acceptable, and must note feedback for the record. + +Finally, the Committee will make a report to the NumPy Steering Council (as well as the NumPy core team in the event of an ongoing resolution, such as a ban). + +The Committee will never publicly discuss the issue; all public statements will be made by the chair of the Code of Conduct Committee or the NumPy Steering Council. + + +## Conflicts of Interest + +In the event of any conflict of interest, a Committee member must immediately notify the other members, and recuse themselves if necessary. diff --git a/content/ca/tabcontents.yaml b/content/ca/tabcontents.yaml new file mode 100644 index 0000000000..d74cba9bce --- /dev/null +++ b/content/ca/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + arraylibraries: + intro: + - + text: NumPy's API is the starting point when libraries are written to exploit innovative hardware, create specialized array types, or add capabilities beyond what NumPy provides. + headers: + - + text: Array Library + - + text: Capabilities & Application areas + libraries: + - + title: Dask + text: Distributed arrays and advanced parallelism for analytics, enabling performance at scale. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: NumPy-compatible array library for GPU-accelerated computing with Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.dev + - + title: JAX + text: "Composable transformations of NumPy programs: differentiate, vectorize, just-in-time compilation to GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: NumPy-compatible sparse array library that integrates with Dask and SciPy's sparse linear algebra. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: Deep learning framework that accelerates the path from research prototyping to production deployment. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: An end-to-end platform for machine learning to easily build and deploy ML powered applications. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: A cross-language development platform for columnar in-memory data and analytics. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://arrow.apache.org/ + - + title: xtensor + text: Multi-dimensional arrays with broadcasting and lazy computing for numerical analysis. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipulate JSON-like data with NumPy-like idioms. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: Python backend system that decouples API from implementation; unumpy provides a NumPy API. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: Nearly every scientist working in Python draws on the power of NumPy. + - + text: "NumPy brings the computational power of languages like C and Fortran to Python, a language much easier to learn and use. With this power comes simplicity: a solution in NumPy is often clear and elegant." + libraries: + - + title: Quantum Computing + alttext: A computer chip. + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: Statistical Computing + alttext: A line graph with the line moving up. + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: Image Processing + alttext: An photograph of the mountains. + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy + alttext: A telescope. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: Cognitive Psychology + alttext: A human head with gears. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: Bioinformatics + alttext: A strand of DNA. + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: Bayesian Inference + alttext: A graph with a bell-shaped curve. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: Mathematical Analysis + alttext: Four mathematical symbols. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: Chemistry + alttext: A test tube. + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: Geoscience + alttext: The Earth. + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: Geographic Processing + alttext: A map. + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: Architecture & Engineering + alttext: A microprocessor development board. + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy lies at the core of a rich ecosystem of data science libraries. A typical exploratory data science workflow might look like:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Diagram of Python Libraries. The five catagories are 'Extract, Transform, Load', 'Data Exploration', 'Data Modeling', 'Data Evaluation' and 'Data Presentation'. + image2: + - + img: /images/content_images/data-science.png + alttext: Diagram of three overlapping circles. The circles are labeled 'Mathematics', 'Computer Science' and 'Domain Expertise'. In the middle of the diagram, which has the three circles overlapping it, is an area labeled 'Data Science'. + examples: + - + text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor-devs.github.io/pyjanitor/)" + - + text: "Exploratory analysis: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "Model and evaluate: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Report in a dashboard: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://voila.readthedocs.io/)" + content: + - + text: For high data volumes, [Dask](https://dask.org) and [Ray](https://ray.io/) are designed to scale. Stable deployments rely on data versioning ([DVC](https://dvc.org)), experiment tracking ([MLFlow](https://mlflow.org)), and workflow automation ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) and [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: A streamplot made in matplotlib + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: A scatter-plot graph made in ggpy + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: A box-plot made in plotly + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + content: + - + text: NumPy is an essential component in the burgeoning [Python visualization landscape](https://pyviz.org/overviews/index.html), which includes [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://napari.org/), and [PyVista](https://docs.pyvista.org/), to name a few. + - + text: NumPy's accelerated processing of large arrays allows researchers to visualize datasets far larger than native Python could handle. diff --git a/content/ca/teams/index.md b/content/ca/teams/index.md new file mode 100644 index 0000000000..1baaaa35ab --- /dev/null +++ b/content/ca/teams/index.md @@ -0,0 +1,36 @@ +--- +title: NumPy Teams +sidebar: false +--- + +We are an international team on a mission to support scientific and research +communities worldwide by building quality, open-source software. +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# Governance + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/ca/user-survey-2020.md b/content/ca/user-survey-2020.md new file mode 100644 index 0000000000..b4349bcb7d --- /dev/null +++ b/content/ca/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: 2020 NUMPY COMMUNITY SURVEY +sidebar: false +--- + +In 2020, the NumPy survey team in partnership with students and faculty from a Master’s course in Survey Methodology jointly hosted by the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Over 1,200 users from 75 countries participated to help us map out a landscape of the NumPy community and voiced their thoughts about the future of the project. + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 NumPy user survey report, titled "NumPy Community Survey 2020 - results"' width = '250' +{{< /figure >}} + +**[Download the report](/surveys/NumPy_usersurvey_2020_report.pdf)** to take a closer look at the survey findings. + + +For the highlights, check out **[this infographic](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**. + +Ready for a deep dive? Visit **https://numpy.org/user-survey-2020-details/**. + diff --git a/content/ca/user-surveys.md b/content/ca/user-surveys.md new file mode 100644 index 0000000000..89a2aa0460 --- /dev/null +++ b/content/ca/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: NUMPY USER SURVEYS +sidebar: false +--- + +**2020** The NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results [here](https://numpy.org/user-survey-2020/). + +**2021** The collected data is currently being analyzed. + +If you have any questions or suggestions for the past or future surveys, please open an issue [here](https://github.com/numpy/numpy-surveys/issues). diff --git a/content/es/404.md b/content/es/404.md new file mode 100644 index 0000000000..b38d73b758 --- /dev/null +++ b/content/es/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +¡Oh, oh! Has llegado a un callejón sin salida. + +Si crees que algo debería estar aquí, puedes [reportar este problema](https://github.com/numpy/numpy.org/issues) en GitHub. diff --git a/content/es/_index.md b/content/es/_index.md new file mode 100644 index 0000000000..86baf4e1dc --- /dev/null +++ b/content/es/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Matrices N-dimensionales potentes' +body = ''' +Rápida y versátil, la vectorización, indexación y conceptos de broadcasting de NumPy son los estándares de facto en el cálculo de matrices hoy en día. +''' + +[[item]] +type = 'card' +title = 'Herramientas de cálculo numérico' +body = ''' +NumPy ofrece funciones matemáticas completas, generadores de números aleatorios, rutinas de álgebra lineal, transformadas de Fourier, y más. +''' + +[[item]] +type = 'card' +title = 'Código abierto' +body = ''' +Distribuido bajo una [licencia BSD] liberal (https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy es desarrollado y mantenido [públicamente en GitHub](https://github.com/numpy/numpy) por una vibrante, receptiva y diversa [comunidad](/comunidad). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy soporta una amplia gama de hardware y plataformas de computación, y funciona bien con librerías distribuidas, de GPU y de matrices dispersas. +''' + +[[item]] +type = 'card' +title = 'Óptimo' +body = ''' +El núcleo de NumPy está optimizado adecuadamente con código en C. Disfrute de la flexibilidad de Python con la velocidad del código compilado. +''' + +[[item]] +type = 'card' +title = 'Fácil de usar' +body = ''' +La sintaxis de alto nivel de NumPy lo hace accesible y productivo para programadores de cualquier formación o nivel de experiencia. +''' + +{{< /grid>}} diff --git a/content/es/about.md b/content/es/about.md new file mode 100644 index 0000000000..0003f3afb2 --- /dev/null +++ b/content/es/about.md @@ -0,0 +1,90 @@ +--- +title: Quiénes Somos +sidebar: false +--- + +NumPy es un proyecto de código abierto cuyo objetivo es permitir la computación numérica en Python. Fue creado en el 2005, a partir de los primeros trabajos de las bibliotecas Numeric y Numarray. NumPy siempre será un software 100% de código abierto y de uso libre para todos. Fue liberado bajo los términos liberales de la [licencia BSD modificada](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +NumPy es desarrollado de forma abierta en GitHub, mediante el consenso de las comunidades NumPy y Python científico en general. Para más información sobre nuestro enfoque de gobernanza, por favor consulta nuestro [Documento de Gobernanza](https://www.numpy.org/devdocs/dev/governance/index.html). + + +## Consejo Directivo + +El Consejo de Dirección de NumPy es el órgano de gobernanza del proyecto. Su papel es garantizar, a través del trabajo con la comunidad NumPy en general y al servicio de la misma, el bienestar a largo plazo del proyecto, tanto desde el punto de vista técnico como de la comunidad. El Consejo Directivo de NumPy está formado actualmente por los siguientes miembros (en orden alfabético): + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Melissa Weber Mendonça +- Eric Wieser + +Eméritos: + +- Alex Griffing (2015-2017) +- Allan Haldane (2015-2021) +- Marten van Kerkwijk (2017-2019) +- Travis Oliphant (project founder, 2005-2012) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Jaime Fernández del Río (2014-2021) +- Pauli Virtanen (2008-2021) + +Para contactar con el Consejo Directivo de NumPy, por favor envía un correo electrónico a numpy-team@googlegroups.com. + +## Equipos + +La dirección del proyecto NumPy trabaja activamente para diversificar las vías de contribución al proyecto.
NumPy cuenta actualmente con los siguientes equipos: + +- desarrollo +- documentación +- clasificación +- página web +- encuesta +- traducción +- mentores de sprints +- optimización +- financiación y subvenciones + +Visita la página de [Equipos](/teams) para más información. + +## Subcomité NumFOCUS + +- Charles Harris +- Ralf Gommers +- Inessa Pawson +- Sebastian Berg +- Miembro externo: Thomas Caswell + +## Patrocinadores + +NumPy recibe financiación directa de las siguientes fuentes: +{{< sponsors >}} + + +## Socios institucionales + +Los socios institucionales son organizaciones que apoyan al proyecto empleando a personas que contribuyen a NumPy como parte de su trabajo. Entre los actuales socios institucionales se encuentran: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## Donar + +Si has encontrado NumPy útil en tu trabajo, investigación o empresa, por favor considera una donación al proyecto proporcional a tus recursos. ¡Cualquier cantidad ayuda! Todas las donaciones se utilizarán estrictamente para financiar el desarrollo del software de código abierto, la documentación y la comunidad de NumPy. + +NumPy es un proyecto patrocinado por NumFOCUS, una organización benéfica sin fines de lucro 501(c)(3) de Estados Unidos. NumFOCUS proporciona a NumPy apoyo fiscal, legal y administrativo para ayudar a garantizar el bienestar y la sostenibilidad del proyecto. Visita [numfocus.org](https://numfocus.org) para más información. + +Las donaciones a NumPy son gestionadas por [NumFOCUS](https://numfocus.org). Para los donantes de Estados Unidos, su donación es deducible de impuestos en la medida prevista por la ley. Al igual que con cualquier donación, debes consultar a tu asesor de impuestos sobre tu situación fiscal particular. + +El Consejo Directivo de NumPy tomará las decisiones sobre el mejor uso de los fondos recibidos. Las prioridades técnicas y de infraestructura están documentadas en la [Hoja de Ruta de NumPy](https://www.numpy.org/neps/index.html#roadmap). + +{{}} + diff --git a/content/es/arraycomputing.md b/content/es/arraycomputing.md new file mode 100644 index 0000000000..967bc5e115 --- /dev/null +++ b/content/es/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: Computación con Arreglos +sidebar: false +--- + +*La computación con arreglos es la base del cómputo estadístico, matemático y científico en varias aplicaciones contemporáneas de ciencia de datos y aplicaciones de analíticas, tales como la visualización de datos, el procesamiento digital de señales, el procesamiento de imágenes, la bioinformática, el aprendizaje automático, la inteligencia artificial, entre muchas otras.* + +La manipulación y transformación de datos a gran escala depende de una computación con arreglos eficiente y de alto rendimiento. El lenguaje de elección para la analítica de datos, el aprendizaje automático y el cómputo numérico productivo es **Python.** + +**Num**erical **Py**thon o NumPy es la biblioteca estándar de-facto del lenguaje de programación Python que soporta arreglos y matrices multidimensionales de gran tamaño, y viene con una amplia colección de funciones matemáticas de alto nivel para operar sobre estos arreglos. + +Tras el lanzamiento de NumPy en 2006, Pandas apareció en el panorama en 2008, y no fue hasta hace un par de años que aparecieron sucesivamente varias bibliotecas de computación con arreglos, poblando este escenario. Muchas de estas nuevas bibliotecas imitan las características y capacidades de NumPy, y contienen nuevos algoritmos y características orientadas a las aplicaciones de aprendizaje automático e inteligencia artificial. + +arraycl + +La **computación con arreglos** está basada en los **arreglos** como estructura de datos. *Los arreglos* son utilizados para organizar grandes cantidades de datos de manera que un conjunto de valores relacionados pueda ordenarse, buscarse, manipularse matemáticamente y transformarse con facilidad y rapidez. + +La computación con arreglos es *única* ya que implica operar sobre todos los datos del arreglo *al mismo tiempo*. Esto significa que cualquier operación de arreglos se aplica a un conjunto completo de valores de una sola vez. Este enfoque vectorial proporciona velocidad y simplicidad, al permitir a los programadores codificar y operar sobre los datos agregados, sin tener que utilizar bucles de instrucciones escalares individuales. diff --git a/content/es/case-studies/blackhole-image.md b/content/es/case-studies/blackhole-image.md new file mode 100644 index 0000000000..1866d88b36 --- /dev/null +++ b/content/es/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "Caso de estudio: La primera imagen de un Agujero Negro" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole. pg' title = 'Agujero Negro M87' alt = 'Imagen de agujero negro' attribution = '(Créditos de la imagen: Colaboración del telescopio del Horizonte de Sucesos)' attributionlink = 'https://www. pl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Profesora Asistente, Ciencias de la Computación & Matemáticas, Caltech*" +> }} Capturar imágenes del Agujero Negro M87 es como intentar ver algo que por definición es imposible de ver. +> +> {{< /blockquote >}} + +## Un telescopio del tamaño de la Tierra + +El [ Telescopio Event Horizon (EHT) ](https://eventhorizontelescope.org), es un conjunto de ocho radiotelescopios terrestres que forman un telescopio computacional del tamaño de la Tierra, estudiando al universo con una sensibilidad y resolución sin precedente. El enorme telescopio virtual, que utiliza una técnica llamada Interferometría de línea de base muy larga (VLBI), tiene una resolución angular de [20 microsegundos de arco][resolution] — ¡suficiente para leer un periódico en Nueva York desde un café en la acera en París! + +### Objetivos clave y resultados + +* **Una nueva vista del universo:** El trabajo preliminar de la innovadora imagen de EHT se había establecido 100 años antes, cuando [Sir Arthur Eddington][eddington] dio el primer apoyo observacional a la teoría de la relatividad general de Einstein. + +* **El agujero negro:** EHT se entrenó en un enorme agujero negro supermasivo aproximadamente a 55 millones de años luz de la Tierra, situado en el centro de la galaxia Messier 87 (M87) en el cúmulo de galaxias Virgo. Su masa es 6.5 mil millones de veces la del sol. Se había estudiado por [más de 100 años](https://www.jpl.nasa.gov/news/news.php?feature=7385), pero nunca antes se había observado un agujero negro. + +* **Comparando las observaciones con la teoría:** A partir de la teoría general de la relatividad de Einstein, los científicos esperaban encontrar una región similar a una sombra causada por la flexión gravitacional y la captura de la luz. Los científicos pudieron utilizarla para medir la enorme masa del agujero negro. + +### Los desafíos + +* **Escala computacional** + + EHT plantea enormes desafíos de procesamiento de datos, incluyendo las rápidas fluctuaciones de fase atmosféricas, amplio ancho de banda de grabación, y telescopios que son ampliamente disímiles y geográficamente dispersos. + +* **Demasiada información** + + Cada día, el EHT genera más de 350 terabytes de observaciones, almacenados en discos duros llenos de helio. Reducir el volumen y complejidad de estos datos es enormemente difícil. + +* **Hacia lo desconocido** + + Cuando el objetivo es ver algo nunca antes visto, ¿cómo pueden los científicos estar seguros de que la imagen es correcta? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'Flujo de Trabajo de Procesamiento de Datos EHT' alt = 'flujo de datos' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## El Rol de NumPy + +¿Qué pasa si hay un problema con los datos? O tal vez un algoritmo depende demasiado de una suposición en particular. ¿Cambiará drásticamente la imagen si se cambia un solo parámetro? + +La colaboración del EHT respondió a estos desafíos haciendo que los equipos independientes evaluaran los datos, utilizando técnicas de reconstrucción de imágenes ya establecidas y de vanguardia. Cuando los resultados se mostraron consistentes, se combinaron para producir la primera imagen de su tipo de un agujero negro. + +Su trabajo ilustra el rol que desempeña el ecosistema científico de Python en el avance de la ciencia a través del análisis de datos colaborativos. + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'rol de numpy' title = 'El rol de NumPy en la imagen del agujero negro' +{{< /figure >}} + +Por ejemplo, el paquete de Python [`eht-imaging`][ehtim] proporciona herramientas para simular y realizar reconstrucción de imágenes en datos VLBI. NumPy está en el núcleo del procesamiento de datos de matrices utilizados en este paquete, como se muestra a continuación en el gráfico parcial de dependencias de software. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'mapa de dependencias de ehtim resaltando a numpy' title = 'Gráfico de dependencias de software del paquete ehtim resaltando a NumPy' +{{< /figure >}} + +Además de NumPy, muchos otros paquetes, como [SciPy](https://www.scipy.org) y [Pandas](https://pandas.io), son parte del flujo de procesamiento de datos para fotografiar el agujero negro. Los formatos estándar de archivos astronómicos y transformaciones de tiempo/coordenadas fueron manejados por [Astropy][astropy], mientras que [Matplotlib][mpl] fue utilizado en la visualización de datos a través del flujo de análisis, incluyendo la generación de la imagen final del agujero negro. + +## Resumen + +El eficiente y adaptable arreglo n-dimensional que es la característica central de NumPy, permitió a los investigadores manipular grandes conjuntos de datos numéricos, proporcionando una base para la primera imagen de un agujero negro. Un momento histórico en la ciencia ofrece una impresionante evidencia visual de la teoría de Einstein. Este logro abarca no solo los avances tecnológicos sino también la colaboración internacional de más de 200 científicos y algunos de los mejores radio observatorios del mundo. Algoritmos innovadores y técnicas de procesamiento de datos, mejorando los modelos astronómicos existentes, ayudaron a desvelar un misterio del universo. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'beneficios de numpy' title = 'Capacidades clave de NumPy utilizadas' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/es/case-studies/cricket-analytics.md b/content/es/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..b814167dd3 --- /dev/null +++ b/content/es/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "Estudio de caso: Análisis de críquet, ¡el cambio radical!" +sidebar: false +--- + +{{< figure >}} +figure src="/images/content_images/cs/ipl-stadium.png'title" caption="IPLT20, el festival de críquet más grande en India" alt="Copa y estadio de la Premier League de Críquet de India" attr="(Créditos de imagen: IPLT20 (copa y logo) & Akash Yadav (estadio))" attrlink="https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *Jugador Internacional de críquet, ex-capitán del equipo de India, juega para Chennai Super Kings en IPL*" +> }} No juegas para el público, juegas para el país. +> +> {{< /blockquote >}} + +## Acerca del críquet + +Sería una subestimación decir que a los indios les encanta el críquet. El juego se juega en casi todos los rincones de la India, rurales o urbanos, es popular entre los jóvenes y ancianos por igual, conectando miles de millones de personas en India como ningún otro deporte. El críquet disfruta de una gran atención mediática. Hay una cantidad importante de [dinero](https://www.statista.com/topics/4543/indian-premier-league-ipl/) y fama en juego. En los últimos años, la tecnología ha cambiado literalmente las reglas del juego. El público tiene muchas opciones para elegir entre streaming de medios, torneos, acceso asequible a la visualización de críquet en vivo desde dispositivos móviles y más. + +La Indian Premier League (IPL) es una liga profesional de críquet Twenty20, fundada en 2008. Es uno de los eventos de críquet más concurridos en el mundo, valorado en [$6.7 mil millones de dólares](https://en.wikipedia.org/wiki/Indian_Premier_League) en 2019. + +El críquet es un juego de números - las carreras anotadas por un bateador, los wickets tomados por un lanzador, los partidos ganados por un equipo de críquet, el número de veces que un bateador responde de cierta manera a un tipo de ataque de lanzamiento, etc. La capacidad de profundizar en los números del críquet tanto para mejorar el rendimiento como para estudiar las oportunidades de negocio, el mercado en general y la economía del cricket mediante potentes herramientas de análisis, impulsadas por software de computación numérica como NumPy, es algo muy importante. El análisis del críquet proporciona ideas interesantes sobre el juego e inteligencia predictiva respecto a los resultados del juego. + +Hoy en día, hay abundantes y casi infinitos tesoros de registros y estadísticas de juegos de críquet disponibles, por ejemplo, en [ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) y [cricsheet](https://cricsheet.org). Estas y muchas otras bases de datos de cricket se han utilizado para el [análisis de cricket](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances) utilizando los últimos algoritmos de aprendizaje automático y modelación predictiva. Las plataformas de medios y entretenimiento, junto con los organismos deportivos profesionales asociados con el juego, utilizan la tecnología y el análisis para determinar métricas clave que mejoren las posibilidades de ganar los partidos: + +* promedio móvil del rendimiento de bateo, +* previsión del marcador, +* obtener información sobre la condición física y el rendimiento de un jugador contra diferentes oponentes, +* contribución del jugador a las victorias y derrotas para tomar decisiones estratégicas sobre la composición del equipo + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'El campo de críquet, el punto focal en el terreno de juego' alt = 'Un campo de cricket con lanzador y bateadores' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### Objetivos Clave de Análisis de Datos + +* El análisis de datos deportivos se utiliza no solo en el críquet, sino en muchos [otros deportes](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) para mejorar el rendimiento general del equipo y maximizar las posibilidades de ganar. +* El análisis de datos en tiempo real puede ayudar a obtener información incluso durante el juego para cambiar tácticas por parte del equipo y de las empresas asociadas para beneficios económicos y crecimiento. +* Además del análisis histórico, se aprovechan los modelos predictivos para determinar los posibles resultados de los partidos, lo cual requiere una cantidad significativa de procesamiento de datos y conocimientos de ciencia de datos, herramientas de visualización y la capacidad de incluir nuevas observaciones en el análisis. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'estimador de postura' title = 'Estimador de postura en críquet' attribution = '(Crédito de imagen: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### Los Desafíos + +* **Limpieza de datos y preprocesamiento** + + La IPL ha expandido el críquet más allá del clásico formato de partido de prueba a una escala mucho más grande. El número de partidos jugados cada temporada a través de varios formatos ha incrementado y así también los datos, los algoritmos, las nuevas tecnologías de análisis de datos deportivos y modelos de simulación. El análisis de datos de críquet requiere mapeo del campo, seguimiento de jugadores, seguimiento de la pelota, análisis de tiros de los jugadores y varios otros aspectos relacionados con cómo se lanza la pelota, su ángulo, giro, velocidad y trayectoria. Todos estos factores juntos han incrementado la complejidad de la limpieza de datos y el preprocesamiento. + +* **Modelación Dinámica** + + En el cricket, al igual que en cualquier otro deporte, puede haber una gran cantidad de variables relacionadas con el seguimiento de varios jugadores en el campo, sus atributos, la pelota y varias posibilidades de acciones potenciales. La complejidad del análisis de datos y la modelación es directamente proporcional al tipo de preguntas predictivas que se plantean durante el análisis y depende en gran medida de la representación de los datos y del modelo. Las cosas se vuelven aún más desafiantes en términos de cálculo y comparación de datos cuando se buscan predicciones dinámicas del juego de críquet, tal como habría sucedido si el bateador hubiera golpeado la bola a un ángulo o velocidad diferente. + +* **Complejidad de Análisis Predictivo** + + Gran parte de la toma de decisiones en el críquet se basa en preguntas como "¿con qué frecuencia un bateador juega un cierto tipo de golpe si la entrega de la pelota es de un tipo particular?" o "¿cómo cambia un lanzador su línea y longitud si el bateador responde a su entrega de una cierta manera?". Este tipo de consulta de análisis predictivo requiere una disponibilidad de un conjunto de datos altamente granular y la capacidad de sintetizar datos y crear modelos generativos que sean altamente precisos. + +## El Papel de NumPy en el Análisis del Críquet + +El análisis deportivo es un campo en desarrollo. Muchos investigadores y compañías [utilizan NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) y otros paquetes de PyData como Scikit-learn, SciPy, Matplotlib y Jupyter, además de utilizar las últimas técnicas de aprendizaje automático e inteligencia artificial. NumPy se ha utilizado para varios tipos de análisis deportivos relacionados con el críquet tales como: + +* **Análisis Estadístico:** Las capacidades numéricas de NumPy ayudan a estimar la significancia estadística de los datos observacionales o de eventos de partidos en el contexto de varias tácticas de jugadores y de juego, estimando el resultado del juego mediante la comparación con un modelo generativo o estático. El [análisis causal](https://amplitude.com/blog/2017/01/19/causation-correlation) y los [enfoques de big data](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) se utilizan para el análisis táctico. + +* **Visualización de Datos:** La creación de gráficos y la [visualización de datos](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) proporcionan información útil sobre la relación entre varios conjuntos de datos. + +## Resumen + +El análisis deportivo ha revolucionado la forma en que se juegan los partidos profesionales, especialmente en cuanto a la toma de decisiones estratégicas, que hasta hace poco se basaba principalmente en la "intuición" o en la adherencia a tradiciones pasadas. NumPy constituye una base sólida para un gran conjunto de paquetes de Python que brindan funciones de nivel superior relacionadas con análisis de datos, el aprendizaje automático y los algoritmos de IA. Estos paquetes están ampliamente desplegados para obtener información en tiempo real que ayudan en la toma de decisiones para resultados revolucionarios, tanto en el campo como para sacar conclusiones y hacer negocios alrededor del juego del críquet. Encontrar los parámetros ocultos, patrones y atributos que conducen al resultado de un partido de críquet ayuda a los interesados a tomar nota de la información del juego que de otra forma estarían ocultos en números y estadísticas. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagrama que muestra los beneficios de usar NumPy para análisis de críquet' title = 'Capacidades claves de NumPy utilizadas' +{{< /figure >}} diff --git a/content/es/case-studies/deeplabcut-dnn.md b/content/es/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..19327beda4 --- /dev/null +++ b/content/es/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "Caso de estudio: DeepLabCut Estimación de Postura 3D" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analizar movimiento de las manos de los ratones usando DeepLapCut' alt = 'micehandanim' attribution = '(Fuente: www.deeplabcut.org )' attributionlink = 'http://www.mousemASElab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Profesor Asistente, Escuela Politécnica Federal de Lausana* ([EPFL](https://www.epfl.ch/en/))" +> }} El software de código abierto está acelerando la biomedicina. DeepLabCut permite el análisis automatizado de video del comportamiento animal utilizando Aprendizaje Profundo. +> +> {{< /blockquote >}} + +## Acerca de DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) es una caja de herramientas de código abierto que permite a los investigadores de cientos de instituciones de todo el mundo rastrear el comportamiento de animales de laboratorio, con muy pocos datos de entrenamiento, con una precisión de nivel humana. Con la tecnología DeepLabCut, los científicos pueden profundizar en la comprensión científica del control motriz y el comportamiento a través de especies animales y escalas temporales. + +Muchas áreas de investigación, incluyendo la neurociencia, la medicina y la biomecánica, utilizan datos para rastrear el movimiento animal. DeepLabCut ayuda a entender lo que los humanos y otros animales están haciendo, analizando las acciones que han sido grabadas en la filmación. Utilizando la automatización para tareas laboriosas de etiquetado y monitoreo, junto con el análisis de datos basado en redes neuronales profundas, DeepLabCut realiza estudios científicos que involucran la observación de animales, tales como primates, ratones, peces, moscas, etc. de manera mucho más rápida y precisa. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Puntos de colores rastrean las posiciones de una parte del cuerpo de un caballo de carreras' alt = 'horserideranim' attribution = '(Fuente: Mackenzie Mathis)' +{{< /figure >}} + +El rastreo del comportamiento no invasivo de animales de DeepLabCut por medio de la extracción de posturas de animales es crucial para propósitos científicos en dominios tales como la biomecánica, genética, etología y & neurociencia. Medir las poses de animales de manera no invasiva a partir de video - sin marcadores - en fondos que cambian dinámicamente es un desafío computacional, tanto técnicamente como en términos de necesidades de recursos y datos de entrenamiento requeridos. + +DeepLabCut permite a los investigadores estimar la postura del sujeto, permitiéndoles eficientemente cuantificar el comportamiento a través de una caja de herramientas de software basada en Python. Con DeepLabCut, los investigadores pueden identificar fotogramas distintos de videos, etiquetar digitalmente partes específicas del cuerpo en unas pocas docenas de fotogramas con una GUI personalizada, y luego las arquitecturas de estimación de posturas basadas en aprendizaje profundo en DeepLabCut aprenden a identificar esas mismas características en el resto del video y en otros videos similares de animales. Funciona en diferentes especies de animales, desde los animales de laboratorio comunes como moscas y ratones hasta animales más inusuales como los [guepardos][cheetah-movement]. + +DeepLabCut utiliza un principio llamado [aprendizaje por transferencia](https://arxiv.org/pdf/1909.11229), que reduce considerablemente la cantidad de datos de entrenamiento requeridos y acelera la convergencia del período de entrenamiento. Dependiendo de las necesidades, los usuarios pueden seleccionar diferentes arquitecturas de red que proporcionan una inferencia más rápida (por ejemplo MobileNetV2), que también pueden combinarse con retroalimentación experimental en tiempo real. DeepLabCut utilizó originalmente los detectores de características de una arquitectura de estimación de postura humana de alto rendimiento, llamada [DeeperCut](https://arxiv.org/abs/1605.03170), que inspiró el nombre. El paquete ahora ha sido significativamente modificado para incluir arquitecturas adicionales, métodos de aumento y una experiencia de usuario completa en el front-end. Además, para apoyar los experimentos biológicos a gran escala, DeepLabCut proporciona capacidades de aprendizaje activo para que los usuarios puedan aumentar el conjunto de entrenamiento a lo largo del tiempo para cubrir casos límite y hacer que su algoritmo de estimación de postura sea robusto dentro de un contexto específico. + +Recientemente, se presentó el [modelo zoo de DeepLabCut](http://www.mousemotorlab.org/dlc-modelzoo), que proporciona modelos pre-entrenados para varias especies y condiciones experimentales, desde el análisis facial en primates hasta la postura de perro. Esto se puede ejecutar, por ejemplo, en la nube sin ningún etiquetado de datos nuevos o entrenamiento de redes neuronales, y no es necesaria ninguna experiencia de programación. + +### Objetivos y Resultados Clave + +* **Automatización del análisis de la postura animal para estudios científicos:** + + El objetivo principal de la tecnología DeepLabCut es medir y rastrear la postura de los animales en diversos entornos. Estos datos se pueden utilizar, por ejemplo, en estudios de neurociencia para entender cómo el cerebro controla el movimiento, o para aclarar como interactúan socialmente los animales. Los investigadores han observado un [aumento de rendimiento diez veces mayor](https://www.biorxiv.org/content/10.1101/457242v1) con DeepLabCut. Las posturas se pueden inferir sin conexión hasta a 1200 fotogramas por segundo (FPS). + +* **Creación de un conjunto de herramientas de Python de fácil uso para la estimación de postura:** + + DeepLabCut quería compartir su tecnología de estimación de postura animal en la forma de una herramienta de fácil uso que pueda ser adoptada fácilmente por los investigadores. Así que han creado un conjunto de herramientas de Python completo y de fácil uso, también con características de administración de proyectos. Estas permiten no solo la automatización de la estimación de postura, sino también administrar el proyecto de punta a punta ayudando al usuario del conjunto de herramientas de DeepLabCut desde la etapa de recolección del conjunto de datos para crear flujos de trabajo de análisis compartibles y reutilizables. + + Su [conjunto de herramientas][DLCToolkit] ahora está disponible como código abierto. + + En flujo de trabajo típico de DeepLabCut incluye: + + - creación y refinamiento de los conjuntos de entrenamiento a través del aprendizaje activo + - creación de redes neuronales a la medida para animales y escenarios específicos + - código para inferencia a gran escala en videos + - graficar las inferencias utilizando herramientas de visualización integradas + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pasos de estimación de la postura con DeepLabCut' alt = 'dlcsteps' align = 'center' atribución = '(Source: DeepLabCut)' attributionlink = 'https://twitter. om/DeepLabCut/status/1198046918284210176/foto/1' +{{< /figure >}} + +### Los Desafíos + +* **Velocidad** + + Procesamiento rápido de videos de comportamiento animal para medir su comportamiento y al mismo tiempo hacer experimentos científicos más eficientes y precisos. La extracción detallada de posturas del animal para experimentos de laboratorio, sin marcadores, en entornos dinámicamente cambiantes, puede ser un desafío tanto técnico como en términos de recursos necesarios y datos de entrenamiento requeridos. Proponer una herramienta que sea fácil de usar sin necesidad de habilidades como experiencia en visión por computador que permita a los científicos hacer investigaciones en más contextos del mundo real, es un problema que no es trivial de resolver. + +* **Combinatoria** + + La combinatoria involucra el armado e integración del movimiento de múltiples extremidades en el comportamiento animal individual. Ensamblar puntos clave y sus conexiones en movimientos individuales de animales y vincularlos a lo largo del tiempo es un proceso complejo que requiere un análisis numérico intensivo, especialmente en el caso del seguimiento de movimientos de múltiples animales en videos de experimentos. + +* **Procesamiento de Datos** + + Por último, pero no menos importante, la manipulación de arreglos - procesamiento de grandes pilas de arreglos correspondientes a varias imágenes, tensores objetivo y puntos clave es bastante desafiante. + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Estimación de variedad y complejidad de postura' alt = 'challengesfig' align = 'center' atribución = '(Fuente: Mackenzie Mathis)' attributionlink = 'https://www. iorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## El Papel de NumPy para afrontar los desafíos de la estimación de postura + +NumPy aborda la necesidad central de la tecnología de DeepLabCut de realizar cálculos numéricos a alta velocidad para el análisis del comportamiento. Además de NumPy, DeepLabCut emplea varios softwares de Python que utilizan NumPy en su núcleo, como [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) y [Tensorflow](https://www.tensorflow.org). + +Las siguientes características de NumPy jugaron un papel clave en abordar el procesamiento de imágenes, los requisitos de combinatoria y la necesidad de cálculos rápidos en los algoritmos de estimación de posturas de DeepLabCut: + +* Vectorización +* Operaciones con Arreglos Enmascarados +* Álgebra lineal +* Muestreo Aleatorio +* Redimensionamiento de arreglos grandes + +DeepLabCut utiliza las capacidades de arreglos de NumPy a lo largo del flujo de trabajo ofrecido por el conjunto de herramientas. En particular, NumPy se utiliza para muestrear diferentes fotogramas para etiquetado de anotaciones humanas, y para escribir, editar y procesar datos de anotación. Dentro de TensorFlow, la red neuronal es entrenada por la tecnología DeepLabCut durante miles de iteraciones para predecir las anotaciones de referencia a partir de fotogramas. Para este propósito, se crean densidades objetivo (mapas de puntuación) para plantear la estimación de poses como un problema de traducción de imagen a imagen. Para hacer que las redes neuronales sean robustas, se emplea el aumento de datos, lo que requiere el cálculo de mapas de puntuación objetivo sujetos a varios pasos geométricos y de procesamiento de imágenes. Para hacer que el entrenamiento sea rápido, se aprovechan las capacidades de vectorización de NumPy. Para la inferencia, es necesario extraer las predicciones más probables de los mapas de puntuación objetivo y "vincular eficientemente las predicciones para ensamblar animales individuales". + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'Flujo de Trabajo de DeepLabCut' alt = 'flujo de trabajo' attribution = '(Fuente: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## Resumen + +Observar y describir eficientemente el comportamiento es un punto central de la etología moderna, neurociencia, medicina y tecnología. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) permite a los investigadores estimar la postura del sujeto, permitiéndoles de manera eficiente cuantificar el comportamiento. Con solo un pequeño conjunto de imágenes de entrenamiento, el conjunto de herramientas de Python de DeepLabCut permite entrenar una red neuronal con una precisión de etiquetado a nivel humano, expandiendo así su aplicación no solo al análisis del comportamiento en el laboratorio, sino también potencialmente en deportes, análisis de marcha, medicina y estudios de rehabilitación. Los desafíos de la combinatoria compleja y procesamiento de datos enfrentados por los algoritmos de DeepLabCut se abordan mediante el uso de las capacidades de manipulación de arreglos de NumPy. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'beneficios de NumPy' title = 'Capacidades claves utilizadas de NumPy' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/es/case-studies/gw-discov.md b/content/es/case-studies/gw-discov.md new file mode 100644 index 0000000000..ca044ffb38 --- /dev/null +++ b/content/es/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "Estudio de Caso: Descubrimiento de Ondas Gravitacionales" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image. ng' title = 'Ondas Gravitacionales' alt = 'coalescencia de un agujero negro binario generando ondas gravitacionales' attribution= '(Créditos de imagen: El proyecto Simulación de Espacio-tiempos eXtreme (SXS) en LIGO)' attributionlink = 'https://youtu. e/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *Colaboración científica LIGO*" >}} El ecosistema científico de Python es una infraestructura crítica para la investigación realizada en LIGO. +{{< /blockquote >}} + +## Acerca de [Ondas Gravitacionales](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) y [LIGO](https://www.ligo.caltech.edu) + +Las ondas gravitacionales son ondulaciones en el tejido del espacio y el tiempo, generadas por cataclismos en el universo, tales como la colisión y fusión de dos agujeros negros o la coalescencia de estrellas binarias o supernovas. La observación de Ondas Gravitacionales no solo puede ayudar en el estudio de la gravedad, sino también en la comprensión de algunos de los fenómenos oscuros en el universo distante y su impacto. + +El [Observatorio de Ondas Gravitacionales por Interferometría Láser (LIGO)](https://www.ligo.caltech.edu) fue diseñado para abrir el campo de la astrofísica de ondas gravitacionales mediante la detección directa de las ondas gravitacionales predichas por la Teoría General de la Relatividad de Einstein. Comprende dos interferómetros ampliamente separados dentro de los Estados Unidos: uno en Hanford, Washington, y el otro en Livingston, Louisiana, operando al unísono para detectar ondas gravitacionales. Cada uno de ellos tiene detectores de ondas gravitacionales de escala de múltiples kilómetros que utilizan interferometría de láser. La Colaboración Científica de LIGO (LSC) es un grupo de más de 1000 científicos de universidades de los Estados Unidos y de otros 14 países, respaldados por más de 90 universidades e institutos de investigación; aproximadamente 250 estudiantes contribuyen activamente a la colaboración. El nuevo descubrimiento de LIGO es la primera observación de ondas gravitacionales, realizada midiendo las diminutas perturbaciones que las ondas generan en el espacio y el tiempo a medida que pasan a través de la Tierra. Ha abierto nuevas fronteras astrofísicas que exploran el lado deformado del universo: objetos y fenómenos que están hechos de espaciotiempo deformado. + + +### Objetivos Clave + +* Aunque su [misión](https://www.ligo.caltech.edu/page/what-is-ligo) es detectar ondas gravitacionales de algunos de los procesos más violentos y energéticos del Universo, los datos que LIGO recopila pueden tener efectos de gran alcance en muchas áreas de la física, incluyendo gravitación, relatividad, astrofísica, cosmología, física de partículas y física nuclear. +* Procesar los datos observados mediante cálculos de relatividad numéricos que implican matemáticas complejas para discernir la señal del ruido, filtrar la señal relevante y estimar estadísticamente la significancia de los datos observados +* Visualización de datos para que los resultados binarios/numéricos puedan ser comprendidos. + + + +### Los desafíos + +* **Cálculo** + + Las Ondas Gravitacionales son difíciles de detectar, ya que producen un efecto muy pequeño y tienen una diminuta interacción con la materia. Procesar y analizar todos los datos de LIGO requiere una vasta infraestructura informática. Después de ocuparse del ruido, que es miles de millones de veces mayor que la señal, aún quedan ecuaciones de relatividad muy complejas y enormes cantidades de datos que suponen un desafío computacional: [se necesitan aproximadamente O(10^7) horas de CPU para los análisis de fusiones binarias](https://youtu.be/7mcHknWWzNI), distribuidas en 6 clústeres dedicados de LIGO + +* **Avalancha de Datos** + + A medida que los dispositivos de observación se vuelven más sensibles y confiables, los desafíos planteados por la avalancha de datos y encontrar una aguja en un pajar aumentan exponencialmente. ¡LIGO genera terabytes de datos cada día! Dar sentido a estos datos requiere de un esfuerzo enorme para todas y cada una de las detecciones. Por ejemplo, las señales recolectadas por LIGO deben ser comparadas por supercomputadoras contra cientos de miles de plantillas de posibles señales de ondas gravitacionales. + +* **Visualización** + + Una vez superados los obstáculos relacionados con comprender suficientemente bien las ecuaciones de Einstein para resolverlas utilizando supercomputadoras, el siguiente gran desafío fue hacer que los datos fueran comprensibles para el cerebro humano. La modelación de simulación, así como la detección de señales, requieren técnicas de visualización efectivas. La visualización también desempeña un papel en otorgar más credibilidad a la relatividad numérica a los ojos de los aficionados a la ciencia pura, los cuales no le daban suficiente importancia a la relatividad numérica hasta que las imágenes y simulaciones facilitaron la comprensión de los resultados para un público más amplio. La velocidad de los cálculos complejos y la renderización, así como la re-renderización de imágenes y simulaciones utilizando los últimos datos experimentales y conocimientos, puede ser una actividad que consume mucho tiempo y que representa un desafío para los investigadores en este campo. + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude. ng' alt = 'amplitud de deformación de ondas gravitacionales' title = 'Amplitud de deformación de ondas gravitacionales estimada de GW150914' attribution = '(Créditos del gráfico: Observación de Ondas Gravitacionales de la Fusión de un Agujero Negro Binario, Publicación de ResearchGate)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## El Papel de NumPy en la Detección de Ondas Gravitacionales + +Las ondas gravitacionales emitidas por la fusión no pueden ser calculadas utilizando ninguna técnica excepto la relatividad numérica por fuerza bruta usando supercomputadoras. La cantidad de datos que LIGO recopila es tan incomprensiblemente grande como pequeñas son las señales de onda gravitacionales. + +NumPy, el paquete de análisis numérico estándar para Python, fue utilizado por el software empleado en varias tareas realizadas durante el proyecto de detección de Ondas Gravitacionales en LIGO. NumPy ayudó a resolver las matemáticas complejas y la manipulación de datos a alta velocidad. Aquí hay algunos ejemplos: + +* [Procesamiento de Señales](https://www.uv.es/virgogroup/Denoising_ROF.html): Detección de fallos, [Identificación de ruido y caracterización de datos](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* Recuperación de datos: Decidir qué datos pueden ser analizados, y determinar si estos contienen una señal - aguja en un pajar +* Análisis estadístico: estimar la significancia estadística de los datos observados, estimar los parámetros de señal (por ejemplo, masas de estrellas, velocidad de giro y distancia) en comparación con un modelo. +* Visualización de datos + - Series de tiempo + - Espectrogramas +* Cálculo de Correlaciones +* [Software clave](https://github.com/lscsoft) desarrollado en análisis de datos de Ondas Gravitacionales como [GwPy](https://gwpy.github.io/docs/stable/overview.html) y [PyCBC](https://pycbc.org) utiliza NumPy y AstroPy bajo su cubierta para proporcionar interfaces basadas en objetos para utilidades, herramientas y métodos para el estudio de datos provenientes de detectores de ondas gravitacionales. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Gráfico de dependencias que muestra cómo depende el paquete GwPy de NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Gráfico de dependencias que muestra cómo el paquete PyCBC depende de NumPy' +{{< /figure >}} + +## Resumen + +La detección de ondas gravitacionales ha permitido a los investigadores descubrir fenómenos completamente inesperados, al tiempo que proporciona nuevos conocimientos sobre muchos de los fenómenos astrofísicos más profundos conocidos. El procesamiento de datos y la visualización de datos son pasos cruciales que ayudan a los científicos a obtener información a partir de los datos recopilados en las observaciones científicas y a comprender los resultados. Los cálculos son complejos y no pueden ser comprendidos por humanos, a menos que sean visualizados utilizando simulaciones por computador que se alimenten con datos observados reales y análisis. NumPy, junto con otros paquetes de Python como matplotlib, pandas y scikit-learn, está [permitiendo a los investigadores](https://www.gw-openscience.org/events/GW150914/) responder preguntas complejas y descubrir nuevos horizontes en nuestra comprensión del universo. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'beneficios de NumPy' title = 'Capacidades clave de NumPy utilizadas' +{{< /figure >}} diff --git a/content/es/citing-numpy.md b/content/es/citing-numpy.md new file mode 100644 index 0000000000..a001286764 --- /dev/null +++ b/content/es/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: Citando a NumPy +sidebar: false +--- + +Si NumPy ha sido importante en tu investigación y deseas reconocer el proyecto en tu publicación académica, te sugerimos que cites el siguiente documento: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _ Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_En formato BibTeX:_ + + ``` +@Article{ harris2020array, + title = { Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/es/code-of-conduct.md b/content/es/code-of-conduct.md new file mode 100644 index 0000000000..7245fe918a --- /dev/null +++ b/content/es/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: Código de conducta de NumPy +sidebar: false +aliases: + - /conduct.html +--- + +### Introducción + +Este Código de Conducta aplica en todos los espacios gestionados por el proyecto NumPy, incluyendo todas las listas de correo públicas y privadas, gestores de incidencias, wikis, blogs, X (antes llamado Twitter) y cualquier otro canal de comunicación utilizado por nuestra comunidad. El proyecto NumPy no organiza eventos en persona; sin embargo, los eventos relacionados con nuestra comunidad deben tener un código de conducta similar a este. + +Este Código de Conducta debe ser respetado por todos los que participan en la comunidad NumPy formalmente o informalmente, o reclaman cualquier afiliación con el proyecto, en cualquier actividad relacionada con el proyecto y especialmente cuando representan el proyecto de cualquier manera. + +Este código no es exhaustivo ni completo. Sirve para sintetizar nuestro entendimiento común de un entorno y unos objetivos compartidos y de colaboración. Por favor, intenta seguir este código tanto en el espíritu como en la letra, para crear un ambiente cordial y productivo que enriquezca a la comunidad circundante. + +### Directrices Específicas + +Nos esforzamos por: + +1. Ser abiertos. Invitamos a todas las personas a participar en nuestra comunidad. Preferimos utilizar métodos de comunicación públicos para los mensajes relacionados con el proyecto, a menos que se trate de algo delicado. Esto se aplica también a los mensajes de ayuda o soporte relacionados con el proyecto; no sólo es mucho más probable que una solicitud de soporte pública dé lugar a una respuesta a una pregunta, sino que también garantiza que cualquier error involuntario en la respuesta se detecte y corrija más fácilmente. +2. Ser empáticos, cordiales, amables y pacientes. Trabajamos juntos para resolver los conflictos y asumimos que hay buenas intenciones. Todos podemos experimentar cierta frustración de vez en cuando, pero no permitimos que la frustración se convierta en un ataque personal. Una comunidad en la que la gente se siente incómoda o amenazada no es productiva. +3. Ser colaborativos. Nuestro trabajo será utilizado por otras personas, y a su vez dependeremos del trabajo de otros. Cuando hacemos algo en beneficio del proyecto, estamos dispuestos a explicar a otros cómo funciona, de manera que puedan construir sobre este trabajo para hacerlo aún mejor. Cualquier decisión que tomemos afectará a usuarios y colegas, y nos tomamos en serio esas consecuencias a la hora de tomar decisiones. +4. Ser curiosos. ¡Nadie lo sabe todo! Hacer preguntas tempranas evita muchos problemas posteriores, por lo que fomentamos las preguntas, aunque las podamos redirigir al foro adecuado. Nos esforzaremos por ser receptivos y útiles. +5. Ser cuidadosos con las palabras que elegimos. Somos cuidadosos y respetuosos en nuestra comunicación, y asumimos la responsabilidad del lenguaje que utilizamos. Ser amables con los demás. No insultes ni menosprecies a los demás participantes. No aceptaremos el acoso ni otros comportamientos excluyentes, tales como: + * Amenazas o expresiones violentas dirigidas a otra persona. + * Bromas y lenguaje sexista, racista o discriminatorio. + * Publicar material sexualmente explícito o violento. + * Publicar (o amenazar con publicar) información de identificación personal de otras personas ("doxing"). + * Compartir contenido privado, como correos electrónicos enviados de forma privada o no pública, o foros no registrados como el historial de canales IRC, sin el consentimiento del remitente. + * Insultos personales, especialmente aquellos que utilizan términos racistas o sexistas. + * Atención sexual no deseada. + * Uso excesivo de lenguaje inapropiado. Por favor, evite las palabras soeces; las personas difieren mucho en su sensibilidad a las malas palabras. + * Acoso reiterado a los demás. En general, si alguien le pide que se detenga, entonces deténgase. + * Abogar o alentar cualquiera de las conductas anteriormente mencionadas. + +### Declaración de Diversidad + +El proyecto NumPy acoge y fomenta la participación de todos. Estamos comprometidos a ser una comunidad de la que todo el mundo disfrute ser parte. Aunque puede que no siempre seamos capaces de satisfacer las preferencias de cada individuo, intentamos al máximo tratar a todos con amabilidad. + +No importa cómo te identifiques o cómo te perciban los demás: te damos la bienvenida. Aunque ninguna lista puede esperar ser exhaustiva, honramos explícitamente la diversidad en: edad, cultura, etnia, genotipo, identidad o expresión de género, lengua, origen nacional, neurotipo, fenotipo, creencias políticas, profesión, raza, religión, orientación sexual, estatus socioeconómico, subcultura y capacidad técnica, en la medida en que éstas no entren en conflicto con este código de conducta. + +Aunque aceptamos a personas con dominio de cualquier idioma, el desarrollo de NumPy se lleva a cabo en inglés. + +Los estándares de comportamiento en la comunidad NumPy se detallan en el Código de Conducta anterior. Los participantes de nuestra comunidad deben respetar estos estándares en todas sus interacciones y ayudar a los demás a hacer lo mismo (véase la siguiente sección). + +### Directrices Para La Presentación De Informes + +Sabemos que es dolorosamente común que la comunicación en Internet comience o se convierta en un abuso evidente y manifiesto. También reconocemos que a veces la gente puede tener un mal día, o no ser consciente de algunas de las directrices de este Código de Conducta. Por favor, tenga esto en cuenta a la hora de decidir cómo responder a una violación de este Código. + +En caso de infracciones claramente intencionadas, informe de éstas al Comité de Código de Conducta (ver más abajo). En caso de infracciones posiblemente involuntarias, puede responder a la persona y señalar este código de conducta (tanto en público como en privado, lo que sea más apropiado). Si prefiere no hacerlo, por favor siéntase libre de informar directamente al Comité de Código de Conducta o de pedirle consejo a éste de forma confidencial. + +Puede informar de los problemas al Comité de Código de Conducta de NumPy en numpy-conduct@googlegroups.com. + +Actualmente, el Comité está compuesto por: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +Si tu informe implica a algún miembro del Comité, o si éste considera que tiene un conflicto de intereses en su tramitación, se abstendrán de examinar tu denuncia. Alternativamente, si por cualquier razón usted se siente incómodo haciendo un informe al Comité, también puede ponerse en contacto con el personal senior de NumFOCUS en [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### Resolución de reporte de informes & aplicación del Código de Conducta + +_Esta sección resume los puntos más importantes, puede encontrar más detalles en el_ [Código de Conducta de NumPy - Cómo hacer seguimiento a un informe](report-handling-manual). + +Investigaremos y responderemos a todas las quejas. El Comité de Código de Conducta de NumPy y el Consejo Directivo de NumPy (en caso de estar involucrado) protegerán la identidad del denunciante y tratarán el contenido de las denuncias con carácter confidencial (a menos que el denunciante acuerde lo contrario). + +En caso de infracciones graves y evidentes, por ejemplo, amenaza personal o lenguaje violento, sexista o racista, desconectaremos inmediatamente al originador de los canales de comunicación de NumPy; por favor consulte el manual para obtener más detalles. + +En casos que no impliquen violaciones claras y graves u obvias de este Código de Conducta, el proceso de actuación sobre cualquier informe de violación del Código de Conducta recibido será: + +1. acusar recibo del informe, +2. una discusión/retroalimentación razonable, +3. mediación (si la retroalimentación no fue útil, y únicamente si tanto el denunciante como el denunciado están de acuerdo con ello), +4. aplicación a través de una decisión transparente (ver [Resoluciones](report-handling-manual/#resolutions)) por parte del Comité de Código de conducta. + +El Comité responderá a cualquier informe lo antes posible y dentro de un plazo máximo de 72 horas. + +### Notas finales + +Damos las gracias a los grupos que están detrás de los siguientes documentos, de los que hemos sacado contenido e inspiración: + +- [El Código de Conducta de SciPy](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/es/community.md b/content/es/community.md new file mode 100644 index 0000000000..f96474c060 --- /dev/null +++ b/content/es/community.md @@ -0,0 +1,66 @@ +--- +title: Comunidad +sidebar: false +--- + +NumPy es un proyecto de código abierto impulsado por la comunidad y desarrollado por un grupo diverso de [colaboradores](/teams/). El liderazgo de NumPy se ha comprometido firmemente a crear una comunidad abierta, inclusiva y positiva. Por favor, lee el [Código de Conducta de NumPy](/code-of-conduct) para obtener orientación sobre cómo interactuar con los demás de una manera que haga que la comunidad prospere. + +Ofrecemos varios canales de comunicación para aprender, compartir conocimientos y conectarse con otros dentro de la comunidad de NumPy. + + +## Participa en línea + +Las siguientes son formas de relacionarse directamente con el proyecto y la comunidad de NumPy. _Ten en cuenta que animamos a los usuarios y a los miembros de la comunidad a apoyarse mutuamente por preguntas de uso - ver [Obtener ayuda](/gethelp)._ + + +### [Lista de correo de NumPy](https://mail.python.org/mailman/listinfo/numpy-discussion) + +Este es el foro principal para discusiones más extensas, como añadir nuevas características a NumPy, hacer cambios en el mapa de ruta de NumPy, y todo tipo de proceso de toma de decisiones sobre el proyecto. Aquí también se realizan los anuncios sobre NumPy, tales como lanzamientos, reuniones de desarrolladores, sprints o charlas en conferencias. + +En esta lista, por favor, utiliza el botón de envío inferior, responde a la lista (en lugar de a otro remitente) y no respondas a los resúmenes. El archivo de consulta de esta lista está disponible [aquí](https://mail.python.org/archives/list/numpy-discussion@python.org/). + +*** + +### [Seguimiento de incidencias en GitHub](https://github.com/numpy/numpy/issues) + +- Para informes de error (por ejemplo, "`np.arange(3).shape` devuelve `(5,)`, cuando debería devolver `(3,)`"); +- problemas en la documentación (por ejemplo, "Esta sección me pareció poco clara"); +- y solicitudes de funcionalidades (por ejemplo, "Me gustaría tener un nuevo método de interpolación en `np.percentile`"). + +_Ten en cuenta que GitHub no es el lugar adecuado para reportar una vulnerabilidad de seguridad. Si crees que has encontrado una vulnerabilidad de seguridad en NumPy, por favor repórtalo [aquí](https://tidelift.com/docs/security)._ + +*** + +### [Slack](https://numpy-team.slack.com) + +Una sala de chat en tiempo real para hacer preguntas sobre las _contribuciones_ a NumPy. Este es un espacio privado, destinado específicamente a las personas que no se atreven a plantear sus preguntas o ideas en la lista de correo pública o en GitHub. Por favor, visita [aquí](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) para más detalles, y sobre cómo obtener una invitación. + + +## Grupos de Estudio y Reuniones + +Si desea encontrar un grupo de estudio o reunión local para aprender más sobre NumPy y el ecosistema más amplio de paquetes de Python para ciencia de datos y computación científica, te recomendamos que explores los [PyData meetups](https://www.meetup.com/pro/pydata/) (más de 150 reuniones, más de 100,000 miembros). + +NumPy también organiza ocasionalmente sprints presenciales para su equipo y colaboradores interesados. Estos normalmente se planifican con varios meses de anticipación y se anunciarán en la [lista de correo](https://mail.python.org/mailman/listinfo/numpy-discussion) y en [X (antes conocido como Twitter)](https://twitter.com/numpy_team). + + +## Conferencias + +El proyecto NumPy no organiza sus propias conferencias. Las conferencias que tradicionalmente han sido más populares entre los responsables, colaboradores y usuarios de NumPy son la serie de conferencias de SciPy y PyData: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latinoamérica](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [Conferencias PyData](https://pydata.org/event-schedule/) (de 15 a 20 eventos al año, repartidos entre muchos países) + +Muchas de estas conferencias incluyen tutoriales y/o sprints que cubren NumPy, en donde puedes aprender cómo contribuir a Numpy o proyectos de código abierto relacionados. + + +## Únete a la comunidad NumPy + +Para prosperar, el proyecto NumPy necesita tu experiencia y entusiasmo. ¿No sabes programar? ¡No es un problema! Hay muchas maneras de contribuir a NumPy. + +Si te interesa colaborar en NumPy (¡hurra!) te recomendamos que visites nuestra página [Contribuir](/contribute). + +No dudes en pasar a saludarnos en uno de nuestros encuentros de la comunidad. Para enterarte del próximo, consulta nuestro calendario de eventos [aquí](https://scientific-python.org/calendars/). diff --git a/content/es/config.yaml b/content/es/config.yaml new file mode 100644 index 0000000000..d937607b49 --- /dev/null +++ b/content/es/config.yaml @@ -0,0 +1,137 @@ +languageName: Inglés +params: + description: '¿Por qué NumPy? Potentes arreglos n-dimensionales. Herramientas de cálculo numérico. Interoperabilidad. Rendimiento. Código abierto.' + navbarlogo: + image: logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: El paquete fundamental para la computación científica con Python + #Button text + buttontext: "Última versión: NumPy 2.0. Ver todas las versiones" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: marcador + intro: + - + title: Prueba NumPy + text: Utilice el terminal interactivo para probar NumPy en el navegador + docslink: No olvides echarle un ojo a la documentación. + casestudies: + title: CASOS DE ESTUDIO + features: + - + title: Primera imagen de un Agujero Negro + text: Cómo NumPy, junto con bibliotecas como SciPy y Matplotlib que dependen de NumPy, permitió al Telescopio del Horizonte de Sucesos producir la primera imagen de un agujero negro + img: /images/content_images/case_studies/blackhole.png + alttext: Primera imagen de un agujero negro. Es un círculo anaranjado con fondo negro. + url: /case-studies/blackhole-image + - + title: Detección de Ondas Gravitacionales + text: En 1916 Albert Einstein predijo las ondas gravitacionales; 100 años después se confirmó su existencia por científicos del LIGO, utilizando NumPy. + img: /images/content_images/case_studies/gravitional.png + alttext: Dos cuerpos orbitándose mutuamente. Estos desplazan la gravedad a su alrededor. + url: /case-studies/gw-discov + - + title: Analíticas Deportivas + text: El Análisis de Críquet está cambiando el juego, mejorando el rendimiento de los jugadores y equipos mediante modelos estadísticos y análisis predictivos. NumPy permite realizar muchos de estos análisis. + img: /images/content_images/case_studies/sports.jpg + alttext: Bola de Cricket sobre un campo verde. + url: /case-studies/cricket-analytics + - + title: Estimación de la pose mediante aprendizaje profundo + text: DeepLabCut utiliza NumPy para acelerar estudios científicos que implican la observación del comportamiento animal para una mejor comprensión del control motriz, a través de especies y escalas de tiempo. + img: /images/content_images/case_studies/deeplabcut.png + alttext: Análisis de la pose de un Guepardo + url: /case-studies/deeplabcut-dnn + tabs: + title: ECOSISTEMA + section5: false + navbar: + - + title: Instalar + url: /install + - + title: Documentación + url: https://numpy.org/doc/stable + - + title: Aprende + url: /learn + - + title: Comunidad + url: /community + - + title: Quiénes somos + url: /about + - + title: Noticias + url: /news + - + title: Contribuye + url: /contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: Instalar + link: /install + - + text: Documentación + link: https://numpy.org/doc/stable + - + text: Aprende + link: /learn + - + text: Citando a NumPy + link: /citing-numpy + - + text: Mapa de ruta + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: Acerca de nosotros + link: /about + - + text: Comunidad + link: /community + - + text: Encuestas a usuarios + link: /user-surveys + - + text: Contribuye + link: /contribute + - + text: Código de Conducta + link: /code-of-conduct + column3: + links: + - + text: Buscar ayuda + link: /gethelp + - + text: Términos de uso + link: /terms + - + text: Confidencialidad + link: /privacy + - + text: Kit de prensa + link: /press-kit diff --git a/content/es/contribute.md b/content/es/contribute.md new file mode 100644 index 0000000000..dae661e9e3 --- /dev/null +++ b/content/es/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribuye a NumPy +sidebar: false +--- + +¡El proyecto NumPy agradece tu experiencia y entusiasmo! Tus opciones no se limitan a la programación. Como puedes ver más abajo, existen muchas áreas en las que necesitamos **tu** ayuda. + +Si no estás seguro por dónde empezar o cómo encajan tus habilidades, _¡acércate!_ Puedes preguntar en la [lista de correos](https://mail.python.org/mailman/listinfo/numpy-discussion) o [GitHub](http://github.com/numpy/numpy) (abre una [propuesta](https://github.com/numpy/numpy/issues) o comenta en una relevante). + +Estos son nuestros canales preferidos (el código abierto es abierto por naturaleza), pero si prefieres hablar de manera privada, contacta a nuestros coordinadores de la comunidad en o en [Slack](https://numpy-team.slack.com) (escribe a para recibir una invitación). + +También hacemos _llamadas a la comunidad_ de manera quincenal, cuyos detalles se anuncian en la [lista de correo](https://mail.python.org/mailman/listinfo/numpy-discussion). Te invitamos a unirte. Si es la primera vez que contribuyes al código abierto, también te recomendamos encarecidamente que leas [esta guía](https://opensource.guide/how-to-contribute/). + +Nuestra comunidad aspira a tratar a todos por igual y a valorar todas las contribuciones. Tenemos un [Código de Conducta](/code-of-conduct) para fomentar un entorno abierto y acogedor. + +### Escribiendo código + +Programadores, esta [guía](https://numpy.org/devdocs/dev/index.html#development-process-summary) explica cómo contribuir al código base.
También revisa nuestro [canal de YouTube](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) por consejos adicionales. + +### Revisando solicitudes de cambios +El proyecto tiene más de 250 solicitudes de cambios abiertos, lo que significa muchas mejoras potenciales y muchos colaboradores de código abierto esperando retroalimentación. Si eres un desarrollador que conoce NumPy, puedes ayudar aunque no estés familiarizado con el código base. Puedes: +* resumir un debate extenso +* categorizar documentación de solicitudes de incorporación de cambios +* probar los cambios propuestos + +### Creando material educativo + +La [Guía de usuario](https://numpy.org/devdocs) de NumPy está en proceso de rehabilitación. Necesitamos nuevos tutoriales, instrucciones y explicaciones detalladas, y la página necesita una reestructuración. Las oportunidades no se limitan a escritores. También ejemplos prácticos, notebooks y vídeos. La propuesta [NEP 44 - Reestructuración de la Documentación NumPy](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) expone nuestras ideas -- y tal vez tú puedas tener otras. + +### Clasificación de propuestas + +El [rastreador de propuestas de NumPy](https://github.com/numpy/numpy/issues) tiene _muchos_ temas abiertos. Algunos ya no son válidos, otros deberían priorizarse y otros serían buenos temas para nuevos colaboradores. Puedes: + +* revisar si errores antiguos siguen presentes +* encontrar problemas duplicados, y enlazar las relacionadas +* añadir la forma de reproducir siempre el mismo problema +* etiquetar correctamente los problemas (para ello es necesario tener derechos de categorización, solo necesitas preguntar) + +Por favor, solo sumérgete. + +### Desarrollo de la Página Web + +Acabamos de renovar nuestro sitio web, pero aún no hemos terminado. Si te gusta el desarrollo web, estas [incidencias](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) enumeran algunas de nuestras necesidades insatisfechas -- y no dudes en compartir tus propias ideas. + +### Diseño gráfico + +Apenas podemos empezar a enumerar las aportaciones que puede hacer un diseñador gráfico. Nuestra documentación está sedienta de ilustraciones; nuestro sitio web, en pleno crecimiento, ansía imágenes... las oportunidades abundan. + +### Traduciendo el contenido de la página web + +Planeamos múltiples traducciones de [numpy.org](https://numpy.org) para hacer a NumPy accesible a los usuarios en su lengua materna. Los traductores voluntarios son el núcleo de este esfuerzo. Consulta [aquí](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) para más información; comenta en [este tema de GitHub](https://github.com/numpy/numpy.org/issues/55) para inscribirte. + +### Coordinación y divulgación de la comunidad + +A través del contacto con la comunidad compartimos nuestro trabajo más ampliamente, y aprendemos en dónde nos estamos quedando cortos. Estamos ansiosos por conseguir más gente involucrada en esfuerzos como nuestra cuenta de [X (antes llamado Twitter)](https://twitter.com/numpy_team), organizando [code sprints](https://scisprints.github.io/) de NumPy, un boletín y quizás un blog. + +### Recaudación de fondos + +NumPy fue durante muchos años un proyecto voluntario, pero a medida que crecía su importancia se hizo evidente que necesitaríamos apoyo financiero para garantizar su estabilidad y crecimiento. [Esta charla en SciPy'19](https://www.youtube.com/watch?v=dBTJD_FDVjU) explica cuánta diferencia ha supuesto este apoyo. Como todo en el mundo sin ánimo de lucro, estamos constantemente en busca de subvenciones, patrocinios y otros tipos de ayuda. Tenemos varias ideas y, por supuesto, aceptamos más. La recaudación de fondos es una habilidad escasa aquí -- apreciaríamos tu ayuda. + +### Donar + +Si deseas contribuir a NumPy haciendo una donación, visita https://numpy.org/about/#donate. + + diff --git a/content/es/gethelp.md b/content/es/gethelp.md new file mode 100644 index 0000000000..b875743dea --- /dev/null +++ b/content/es/gethelp.md @@ -0,0 +1,20 @@ +--- +title: Buscar Ayuda +sidebar: false +--- + +**Problemas de desarrollo:** Para asuntos relacionados con el desarrollo de NumPy (por ejemplo, informes de errores), por favor consulte la sección de [Comunidad](/community). + +**Preguntas de los usuarios:** La mejor manera de obtener ayuda es publicar tu pregunta en un sitio como [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) o [Reddit](https://www.reddit.com/r/Numpy/). Nos gustaría poder estar al tanto de estos sitios, o responder preguntas de manera directa, ¡pero el volumen es algo abrumador! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +Un foro para hacer preguntas de uso, como por ejemplo: "¿Cómo hago X cosa en NumPy?". Por favor [usa la etiqueta `#numpy`](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +Otro foro para hacer preguntas de uso. + +*** diff --git a/content/es/history.md b/content/es/history.md new file mode 100644 index 0000000000..cad39b6e70 --- /dev/null +++ b/content/es/history.md @@ -0,0 +1,21 @@ +--- +title: Historia de NumPy +sidebar: false +--- + +NumPy es una librería fundamental de Python que proporciona estructuras de datos de arreglos y rutinas numéricas rápidas relacionadas. Cuando se puso en marcha, la librería contaba con escasos fondos y la escribían principalmente estudiantes de posgrado, muchos de ellos sin formación en ciencias de la computación y, a menudo, sin la bendición de sus asesores. Imaginar siquiera que un pequeño grupo de estudiantes programadores "rebeldes" pudiera derribar el ecosistema de software de investigación, ya establecido y respaldado por millones en financiación y cientos de ingenieros altamente cualificados, era absurdo. Sin embargo, las motivaciones filosóficas detrás de la pila de herramientas totalmente abierta, en combinación con una comunidad entusiasta y amigable con un enfoque singular, han demostrado ser favorable a largo plazo. Hoy en día, científicos, ingenieros y muchos otros profesionales en todo el mundo confían en NumPy. Por ejemplo, los scripts publicados usados en el análisis de ondas gravitacionales importan NumPy, y el proyecto de imagen del agujero negro M87 cita directamente a NumPy. + +Para conocer en profundidad los hitos en el desarrollo de NumPy y las librerías relacionadas, consulta [arxiv.org](arxiv.org/abs/1907.10121). + +Si deseas obtener una copia de las librerías originales Numeric y Numarray, sigue los siguientes enlaces: + +[Página de Descarga de *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[Página de Descarga de *Numarray*](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*Ten en cuenta que estos paquetes antiguos ya no se mantienen, y se recomienda encarecidamente a los usuarios que utilicen NumPy para cualquier propósito relacionado con arreglos o que refactoricen cualquier código preexistente para utilizar la librería NumPy. + +### Documentación Histórica + +[Descarga el Manual de *`Numeric'*](static/numeric-manual.pdf) + diff --git a/content/es/install.md b/content/es/install.md new file mode 100644 index 0000000000..2c709bd013 --- /dev/null +++ b/content/es/install.md @@ -0,0 +1,125 @@ +--- +title: Instalando NumPy +sidebar: false +--- + +El único prerrequisito para instalar NumPy es Python. Si aún no tienes Python y quieres la forma más sencilla de comenzar, te recomendamos que uses la [Distribución Anaconda](https://www.anaconda.com/download) - incluye Python, NumPy y muchos otros paquetes comúnmente utilizados para la computación científica y la ciencia de datos. + +NumPy se puede instalar con `conda`, con `pip`, con un gestor de paquetes en macOS y Linux, o [a partir del código fuente](https://numpy.org/devdocs/building). Para instrucciones más detalladas, consulte nuestra [guía de instalación de Python y NumPy](#python-numpy-install-guide) a continuación. + +**CONDA** + +Si utiliza `conda`, puede instalar NumPy desde los canales `defaults` o `conda-forge`: + +```bash +# La mejor práctica, utilizar un entorno en lugar de instalar en el entorno base +conda create -n my-env +conda activate my-env +# Si desea instalar desde conda-forge +conda config --env --add channels conda-forge +# El comando de instalación +conda install numpy +``` + +**PIP** + +Si utiliza `pip`, puede instalar NumPy con: + +```bash +pip install numpy +``` +También al utilizar pip, es buena práctica utilizar un entorno virtual - vea [Instalaciones Reproducibles](#reproducible-installs) a continuación para saber por qué, y [esta guía](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) para más detalles sobre el uso de entornos virtuales. + + + + +# Guía de instalación de Python y NumPy + +Instalar y administrar paquetes en Python es complicado, hay un número de soluciones alternativas para la mayoría de tareas. Esta guía intenta dar al lector una idea de las mejores (o más populares) soluciones y dar recomendaciones claras. Se enfoca en los usuarios de Python, NumPy y del stack de PyData (o computación numérica) en sistemas operativos y hardware comunes. + +## Recomendaciones + +Empezaremos con recomendaciones basadas en el nivel de experiencia del usuario y el sistema operativo de interés. Si se encuentra entre "principiante" y "avanzado", por favor diríjase a "principiante" si quiere mantener las cosas simples, y a "avanzado" si quiere trabajar de acuerdo a las mejores prácticas que le servirán de mucho en el futuro. + +### Usuarios principiantes + +Tanto en Windows, macOS y Linux: + +- Instale [Anaconda](https://www.anaconda.com/download) (esto instala todos los paquetes que necesita y todas las demás herramientas mencionadas a continuación). +- Para escribir y ejecutar código, utilice notebooks en [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) para computación exploratoria e interactiva, y [Spyder](https://www.spyder-ide.org/) o [Visual Studio Code](https://code.visualstudio.com/) para escribir scripts y paquetes. +- Utilice [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) para administrar sus paquetes e iniciar JupyterLab, Spyder o Visual Studio Code. + + +### Usuarios avanzados + +#### Conda + +- Instale [Miniforge](https://github.com/conda-forge/miniforge). +- Mantenga el entorno conda `base` mínimo, y utilice uno o más [entornos conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) para instalar el paquete que necesite para la tarea o proyecto en que está trabajando. + +#### Alternativa si prefiere pip/PyPI + +Para usuarios que conocen, por preferencia personal o leyendo acerca de las diferencias principales entre conda y pip a continuación, y prefieren una solución basada en pip/PyPI, recomendamos: +- Instalar Python desde [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/) o su administrador de paquetes Linux. +- Utilice [Poetry](https://python-poetry.org/) como la herramienta mejor mantenida que proporciona una resolución de dependencias y capacidades de administración de entornos de forma similar a la que lo hace conda. + + +## Gestión de paquetes de Python + +La gestión de los paquetes es un problema desafiante y, como resultado, hay muchas herramientas. Para desarrollo web y de propósito general en Python existe un completo [conjunto de herramientas ](https://packaging.python.org/guides/tool-recommendations/)complementario a pip. Para computación de alto rendimiento (HPC), [Spack](https://github.com/spack/spack) amerita ser considerado. Sin embargo, para la mayoría de usuarios de NumPy, [conda](https://conda.io/en/latest/) y [pip](https://pip.pypa.io/en/stable/) son las dos herramientas más populares. + + +### Pip & conda + +Las dos herramientas principales que instalan paquetes de Python son `pip` y `conda`. Sus funcionalidades se traslapan parcialmente (por ejemplo, ambas pueden instalar `numpy`); no obstante, también pueden trabajar conjuntamente. Discutiremos las principales diferencias entre pip y conda aquí - esto es importante comprenderlo si usted desea gestionar paquetes de manera efectiva. + +La primera diferencia radica en que conda es multi-lenguaje y puede instalar Python, mientras que pip es instalado para una versión particular de Python en su sistema e instala paquetes para esa misma versión de Python solamente. Esto también significa que conda puede instalar librerías que no sean de Python y herramientas que usted pueda necesitar (por ejemplo, compiladores, CUDA, HDF5), mientras que pip no. + +La segunda diferencia es que pip instala desde el Índice de Empaquetado de Python (PyPI - Python Packaging Index), mientras que conda instala desde sus propios canales (típicamente "defaults" o "conda-forge"). PyPI es, de lejos, la colección de paquetes más grande; sin embargo, todos los paquetes populares están también disponibles para conda. + +La tercera diferencia consiste en que conda es una solución integrada para gestionar paquetes, dependencias y entornos; mientras que con pip, usted podría necesitar otra herramienta (hay muchas!) para manejar entornos o dependencias complejas. + + + +### Instalaciones reproducibles + +En la medida en que las librerías son actualizadas, los resultados al correr su código pueden cambiar, o su código puede fallar por completo. Es importante que sea capaz de reconstruir el conjunto de paquetes y versiones que usted está utilizando. La mejor práctica es: + +1. usar un entorno diferente por cada proyecto en el cual usted esté trabajando, +2. almacenar los nombres de paquetes y versiones utilizando su instalador de paquetes, cada uno de los cuales tiene su propio formato de metadata para esto: + - Conda: [entornos conda y environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [entornos virtuales](https://docs.python.org/3/tutorial/venv.html) y [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [entornos virtuales y pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## Paquetes NumPy & librerías de álgebra lineal aceleradas + +NumPy no depende de ningún otro paquete de Python; sin embargo, sí depende de una librería de álgebra lineal acelerada - típicamente [Intel MKL](https://software.intel.com/en-us/mkl) u [OpenBLAS](https://www.openblas.net/). Los usuarios no tienen que preocuparse por instalar éstas (se incluyen automáticamente en todos los métodos de instalación de NumPy). Los usuarios avanzados podrían querer, de todas maneras, conocer los detalles, ya que la utilización BLAS puede afectar el desempeño, comportamiento y tamaño en disco: + +- Las ruedas NumPy en PyPI, que son los que pip instala, están construidas con OpenBLAS. Las librerías de OpenBLAS están incluidas en la rueda. Esto vuelve a la rueda más grande, y si un usuario instala (por ejemplo) SciPy también, tendrá dos copias de OpenBLAS en disco. + +- En el canal defaults o predeterminado de conda, NumPy está basado en Intel MKL. MKL es un paquete separado que se instalará en el entorno de usuario al instalar NumPy. + +- En el canal conda-forge, Numpy está basado en un paquete "BLAS" ficticio o dummy. Cuando un usuario instala NumPy desde conda-forge, ese paquete BLAS es instalado junto con la librería - éste por defecto es OpenBLAS, pero también puede ser MKL (desde el canal defaults o predeterminado), o incluso [BLIS](https://github.com/flame/blis) o referencia BLAS. + +- El paquete MKL es mucho más grande que OpenBLAS, de alrededor de 700 MB en disco, mientras que OpenBLAS es aproximadamente de 30MB. + +- MKL es normalmente un poco más rápido y más robusto que OpenBLAS. + +Además del tamaño de instalación, desempeño y robustez, hay dos aspectos más a considerar: + +- Intel MKL no es de código abierto. Para uso normal esto no es un problema, pero si un usuario necesita redistribuir una aplicación construida con NumPy, esto podría ser un inconveniente. +- MKL y OpenBLAS utilizan funciones multihilo como `np.dot`, siendo el número de hilos determinado tanto por una opción de tiempo de compilación como por una variable de entorno. Todos los núcleos de la CPU usualmente serán utilizados. Esto es en ocasiones inesperado para los usuarios. NumPy en sí mismo no paraleliza automáticamente ninguna llamada a función. Normalmente produce un mejor rendimiento, pero también puede ser perjudicial - por ejemplo cuando se utiliza otro nivel de paralelización con Dask, el aprendizaje de la ciencia o multiprocesamiento. + + +## Resolución de problemas + +Si su instalación falla con el siguiente mensaje, revise el siguiente enlace [Resolución de problemas ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html). + +``` +¡IMPORTANTE: POR FAVOR LEA ESTO COMO SUGERENCIA PARA RESOLVER ESTE PROBLEMA! + +La importación de las extensiones-c de numpy falló. Este error puede ocurrir por varias razones, siendo frecuente debido a problemas con su configuración. +``` + diff --git a/content/es/learn.md b/content/es/learn.md new file mode 100644 index 0000000000..016e78cfd1 --- /dev/null +++ b/content/es/learn.md @@ -0,0 +1,76 @@ +--- +title: Aprende +sidebar: false +--- + +Para la **documentación oficial de NumPy** visita [numpy.org/doc/stable](https://numpy.org/doc/stable). + +*** + +A continuación se muestra una colección de recursos educativos, tanto para el autoaprendizaje como para enseñar a otros, desarrollados por colaboradores de NumPy y aprobados por la comunidad. + +## Principiantes + +Hay un montón de información sobre NumPy allá afuera. Si eres nuevo, te recomendamos encarecidamente estos: + + **Tutoriales** + +* [Tutorial de inicio rápido de NumPy](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) Una colección de tutoriales y materiales educativos en formato de cuadernos Jupyter desarrollados y mantenidos por el equipo de documentación de NumPy. Para enviar tu propio contenido, visita el repositorio [numpy-tutorials en GitHub](https://github.com/numpy/numpy-tutorials). +* [NumPy Illustrated: La Guía Visual de NumPy *por Lev Maximov*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://scipy-lectures.org/) Además de cubrir NumPy, estas conferencias ofrecen una introducción más amplia al ecosistema científico de Python. +* [NumPy: the absolute basics for beginners.](https://numpy.org/devdocs/user/absolute_beginners.html) +* [NumPy tutorial *por Nicolas Rougier*](https://github.com/rougier/numpy-tutorial) +* [Stanford CS231 *por Justin Johnson*](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy User Guide.](https://numpy.org/devdocs) + + **Libros** + +* [Guide to NumPy *por Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) Ésta es una versión 1 gratuita de 2006. Para conseguir la última versión (2015) mira [aquí](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1122853007). +* [From Python to NumPy *por Nicolas P. Rougier*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [Elegant SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) *por Juan Nunez-Technesias, Stefan van der Walt, y Harriet Dashnow* + +También puedes echar un vistazo a esta [lista de Goodreads](https://www.goodreads.com/shelf/show/python-scipy) sobre el tema "Python+SciPy". La mayoría de esos libros son sobre el "ecosistema SciPy", que tiene NumPy en su núcleo. + + **Videos** + +* [Introduction to Numerical Computing with NumPy](http://youtu.be/ZB7BZMhfPgk) *por Alex Chabot-Leclerc* + +*** + +## Avanzado + +Pruebe estos recursos avanzados para comprender mejor los conceptos de NumPy como indexación avanzada, división, apilamiento, álgebra lineal y mucho más. + + **Tutoriales** + +* [100 NumPy Exercises](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) *por Nicolas P. Rougier* +* [An Introduction to NumPy and Scipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) *por M. Scott Shell* +* [Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) *por Stéfan van der Walt* +* [Tutoriales de NumPy](https://numpy.org/numpy-tutorials) Una colección de tutoriales y materiales educativos en formato de cuadernos Jupyter desarrollados y mantenidos por el equipo de documentación de NumPy. Para enviar tu propio contenido, visita el repositorio [numpy-tutorials en GitHub](https://github.com/numpy/numpy-tutorials). + + **Libros** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1491912057) *por Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Ipython/dp/1491957662) *por Wes McKinney* +* [Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) *por Robert Johansson* + + **Videos** + +* [Advanced NumPy - broadcasting rules, strides, and advanced indexing](https://www.youtube.com/watch?v=cYugp9IN1-Q) *por Juan Nunez-Iglesias* + +*** + +## Charlas de NumPy + +* [The Future of NumPy Indexing](https://www.youtube.com/watch?v=o0EacbIbf58) *por Jaime Fernández* (2016) +* [Evolution of Array Computing in Python](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) *por Ralf Gommers* (2019) +* [NumPy: what has changed and what is going to change?](https://www.youtube.com/watch?v=YFLVQFjRmPY) *por Matti Picus* (2019) +* [Inside NumPy](https://www.youtube.com/watch?v=dBTJD_FDVjU) *por Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris* (2019) +* [Brief Review of Array Computing in Python](https://www.youtube.com/watch?v=f176j2g2eNc) *por Travis Oliphant* (2019) + +*** + +## Citando a NumPy + +Si NumPy ha sido importante en tu investigación y deseas reconocer el proyecto en tu publicación académica, consulta esta [información de citado](/citing-numpy). diff --git a/content/es/news.md b/content/es/news.md new file mode 100644 index 0000000000..a10076d56c --- /dev/null +++ b/content/es/news.md @@ -0,0 +1,307 @@ +--- +title: Noticias +sidebar: false +newsHeader: "¡NumPy 2.0 ha sido lanzado!" +date: 2024-06-17 +--- + +### Lanzamiento de NumPy 2.1.0 + +_18 de agosto 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. Además de las habituales correcciones de errores y soporte actualizado de Python, ayuda a que NumPy vuelva a su ciclo de publicación habitual después del extenso desarrollo de 2.0. Los aspectos más destacados son: + +- Soporte para Python 3.13. +- Soporte preliminar para Python 3.13 de hilos libres. +- Compatibilidad con la norma array-api 2023.12. + +Esta versión es compatible con las versiones 3.10-3.13 de Python. + + +### Lanzamiento de NumPy 2.0.0 + +_16 de junio de 2024_ -- NumPy 2.0.0 es el primer lanzamiento importante desde 2006. Es el resultado de 11 meses de desarrollo desde el último lanzamiento de características y es el trabajo de 212 colaboradores distribuidos entre 1078 solicitudes de incorporación de cambios. Contiene un gran número de nuevas características interesantes, así como cambios en las APIs de Python y C. Incluye cambios importantes que no podrían producirse en un lanzamiento menor regular, como una ruptura de ABI, cambios en las reglas de promoción de tipos y cambios en la API que podrían no haber estado emitiendo advertencias de obsolescencia en la versión 1.26.x. Los documentos clave relacionados con cómo adaptarse a los cambios en NumPy 2.0 incluyen: + +- La [Guía de migración de NumPy 2.0](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- Las [notas de lanzamiento 2.0.0](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Emisión de anuncios para actualizaciones de estado: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +La publicación ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) cuenta un poco de la historia sobre cómo se llegó a este lanzamiento. + + +### Fecha de lanzamiento de NumPy 2.0: 16 de junio + +_23 de mayo de 2024_ -- Estamos encantados de anunciar que NumPy 2.0 está previsto que sea lanzado el 16 de junio de 2024. Esta publicación lleva más de un año en proceso y es el primer lanzamiento importante desde 2006. Es importante destacar que, además de muchas nuevas características y mejoras en el rendimiento, contiene **cambios disruptivos** frente al ABI, como también a las APIs de Python y C. Es probable que los paquetes dependientes o downstream y código de usuario final necesiten ser adaptados - si puedes, por favor verifica que tu código funciona con NumPy `2.0.0rc2`. **Por favor, revisa lo siguiente para más detalles:** + +- La [guía de migración a NumPy 2.0](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- Las [ notas del lanzamiento 2.0.0](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Emisión de anuncios para actualizaciones de estado: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### Recaudación de fondos de fin de año de NumFOCUS +_19 de diciembre de 2023_ -- NumFOCUS se ha asociado con PyCharm durante su campaña de fin de año para ofrecer un 30% de descuento en licencias de primera vez de PyCharm. Todos los ingresos del primer año de las compras de PyCharm desde ahora hasta el 23 de diciembre de 2023 se destinarán directamente a los programas de NumFOCUS. + +Utiliza una URL única que te permitirá rastrear las compras https://lp.jetbrains.com/support-data-science/ o un código de cupón ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 ha sido lanzado + +_16 de septiembre de 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) ahora está disponible. Los aspectos más destacados del lanzamiento son: + +* Soporte de Python 3.12.0. +* Compatibilidad con Cython 3.0.0. +* Utilización del sistema de compilación Meson +* Actualización del soporte de SIMD +* Correcciones de f2py, meson y soporte de bind(x) +* Soporte para la librería actualizada Accelerate BLAS/LAPACK + +La versión 1.26.0 de NumPy es la continuación de la serie 1.25.x que marca la transición al sistema de compilación Meson y que provee soporte para Cython 3.0.0. Un total de 20 personas contribuyeron a esta versión y 59 solicitudes de cambios fueron fusionadas. + +Las versiones de Python compatibles con esta versión son 3.9-3.12. + +### numpy.org ya está disponible en japonés y portugués + +_ 2 de agosto de 2023_ -- numpy.org ya está disponible en 2 idiomas adicionales: japonés y portugués. Esto no sería posible sin nuestros dedicados voluntarios: + +_Portugués:_ +* Melissa Weber Mendonça (melissawm) +* Precios Ricardo (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japonés:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +El trabajo sobre la infraestructura de traducción se apoya con fondos de CZI. + +De cara al futuro, nos encantaría traducir el sitio web a más idiomas. Si quieres ayudar, por favor pone en contacto con el equipo de traducciones de NumPy en Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Busca el canal #translations) También estamos formando un equipo de traducciones que estará trabajando en la localización de la documentación y el contenido educativo a través de todo el ecosistema de Python científico. Si esto ha despertado tu interés, únete a nosotros en el Discord de Python científico: https://discord.gg/khWtqY6RKr. (Busca el canal #translations) + +### NumPy 1.25.0 ha sido lanzado + +_17 de junio de 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) ya está disponible. Los aspectos más destacados del lanzamiento son: + +* Soporte para MUSL, ahora hay ruedas MUSL. +* Soporte para el compilador de Fujitsu C/C++. +* Los arreglos de objetos ahora están soportadas en einsum. +* Soporte para la multiplicación de matrices in situ (`@=`). + +NumPy 1.25. continúa el trabajo en curso para mejorar el manejo y promoción de dtypes, aumentar la velocidad de ejecución y clarificar la documentación. También se ha realizado trabajo preparatorio para el futuro NumPy 2.0.0, resultando en un gran número de nuevas y eliminadas obsolescencias. + +Un total de 148 personas contribuyeron a esta versión y 530 solicitudes de incorporación de cambios fueron aceptadas. + +Las versiones de Python soportadas por este lanzamiento son 3.9-3.11. + +### Fomentar una Cultura Inclusiva: Convocatoria de Participación + +_10 de mayo de 2023_ -- Fomentar una Cultura Inclusiva: Convocatoria de Participación + +¿Cómo podemos ser mejores cuando se trata de diversidad e inclusión? Lee el informe y averigua cómo involucrarte [aquí](https://contributor-experience.org/docs/posts/dei-report/). + +### Transición en el liderazgo del equipo de documentación de NumPy + +_6 de enero de 2023_ –- Mukulika Pahari y Ross Barnowski son nombrados como los nuevos líderes del equipo de documentación de NumPy, reemplazando a Melissa Mendonça. Damos las gracias a Melissa por todas sus contribuciones a la documentación oficial de NumPy y materiales educativos, y a Mukulika y Ross por asumir este rol. + +### Lanzamiento de NumPy 1.24.0 + +_18 de diciembre de 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) ya está disponible. Los aspectos más destacados del lanzamiento son: + +* Nuevas palabras clave "dtype" y "casting" para las funciones de apilamiento. +* Nuevas características y correcciones de F2PY. +* Muchas nuevas obsolescencias, revísalas. +* Muchas obsolescencias caducadas, + +El lanzamiento de NumPy 1.24.0 continúa el trabajo en curso para mejorar el manejo y promoción de dtypes, aumentar la velocidad de ejecución y clarificar la documentación. Hay un gran número de obsolescencias nuevas y caducadas debido a los cambios en la limpieza y promoción de tipo dtype. Es el trabajo de 177 colaboradores distribuidos sobre 444 solicitudes de incorporación de cambios. Las versiones Python soportadas son 3.8-3.11. + +### NumPy 1.23.0 ha sido lanzado + +_22 de junio de 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) ya está disponible. Los aspectos más destacados del lanzamiento son: + +* Implementación de `loadtxt` en C, mejorando enormemente su rendimiento. +* Exposición de DLPack a nivel Python para facilitar el intercambio de datos. +* Cambios a la promoción y comparación de dtypes estructurados. +* Mejoras a f2py. + +El lanzamiento de NumPy 1.23.0 continúa el trabajo en curso para mejorar el manejo y promoción de dtypes, aumentar la velocidad de ejecución y clarificar la documentación, caducar viejas obsolescencias. Es el trabajo de 151 colaboradores distribuidos sobre 494 solicitudes de incorporación de cambios. Las versiones de Python soportadas por este lanzamiento son 3.8-3.10. Python 3.11 será soportado cuando alcance la etapa rc. + +### Estudio de investigación NumFOCUS DEI: llamado a participar + +_13 de abril de 2022_ -- NumPy está trabajando con [NumFOCUS](http://numfocus.org/) en un [proyecto de investigación](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) financiado por la [Fundación Gordon & Betty Moore](https://www.moore.org/) para entender las barreras de participación que enfrentan los colaboradores, especialmente aquellos de grupos históricamente subrepresentados, en la comunidad de software de código abierto. El equipo de investigación quisiera hablar con nuevos colaboradores, desarrolladores y mantenedores del proyecto, y con aquellos que han contribuido en el pasado acerca de sus experiencias uniéndose y contribuyendo a NumPy. + +**¿Estás interesado en compartir tus experiencias?** + +Por favor, completa este breve [formulario de "Interés del Participante"](https://numfocus.typeform.com/to/WBWVJSqe), que contiene información adicional sobre los objetivos de la investigación, la privacidad y las consideraciones de confidencialidad. Tu participación será valiosa para el crecimiento y la sostenibilidad de comunidades de software de código abierto diversas e inclusivas. Los participantes aceptados participarán en una entrevista de 30 minutos con un miembro del equipo de investigación. + +### Lanzamiento de NumPy 1.22.0 + +_31 de diciembre de 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) ya está disponible. Los aspectos más destacados del lanzamiento son: + +* Las anotaciones de tipo del espacio de nombres principal están esencialmente completas. El repositorio principal (upstream) es un objetivo en movimiento, así que probablemente habrán más mejoras, pero el mayor trabajo ya está hecho. Esta es probablemente la mejora más visible para el usuario en esta versión. +* Una versión preliminar del propuesto [Estándar API de Arreglos](https://data-apis.org/array-api/latest/) es suministrada (véase [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). Este es un paso en la creación de una colección estándar de funciones que pueden ser usadas a través de librerías como CuPy y JAX. +* NumPy ahora tiene un backend de DLPack. DLPack proporciona un formato de intercambio común para datos de arreglos (tensor). +* Nuevos métodos para `cuantil`, `percentil` y funciones relacionadas. Los nuevos métodos proporcionan un conjunto completo de los métodos comúnmente encontrados en la literatura. +* Las funciones universales se han refactorizado para implementar la mayor parte de [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html). Esto también desbloquea la capacidad de experimentar con la futura API DType. +* Un nuevo asignador de memoria configurable para el uso de proyectos dependientes o downstream. + +NumPy 1.22.0 es un gran lanzamiento que contó con el trabajo de 153 colaboradores distribuidos sobre 609 solicitudes de incorporación de cambios. Las versiones de Python soportadas por este lanzamiento son 3.8-3.10. + +### Promoviendo una cultura inclusiva en el ecosistema científico de Python + +_31 de agosto de 2021_ -- Nos complace anunciar que la Iniciativa Chan Zuckerberg ha [otorgado una subvención](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) para apoyar la incorporación, inclusión, y retención de personas de grupos históricamente marginados en proyectos científicos de Python y para mejorar estructuralmente la dinámica de la comunidad para NumPy, SciPy, Matplotlib y Pandas. + +Como parte del [Programa de Software Esencial de Código Abierto para la Ciencia de CZI](https://chanzuckerberg.com/eoss/), esta subvención suplementaria de [Diversidad &e Inclusión](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) apoyará la creación de posiciones dedicadas de Líder de Experiencia del Colaborador para identificar, documentar e implementar prácticas para fomentar comunidades inclusivas de código abierto. Este proyecto será liderado por Melissa Mendonça (NumPy), con mentoría y orientación adicionales por parte de Ralf Gommers (NumPy, SciPy), Hannah Aizenman y Thomas Caswell (Matplotlib), Matt Haberland (SciPy), y Joris Van den Bossche (Pandas). + +Este es un proyecto ambicioso destinado a descubrir e implementar actividades que deberían mejorar estructuralmente la dinámica comunitaria de nuestros proyectos. Al establecer estos nuevos roles entre proyectos, esperamos introducir un nuevo modelo de colaboración para las comunidades de Python Científico, permitiendo que el trabajo de construcción de comunidades dentro del ecosistema se realice de manera más eficiente y con mejores resultados. También esperamos desarrollar una idea más clara tanto de lo que funciona y lo que no en nuestros proyectos, para atraer y retener nuevos colaboradores, especialmente de grupos históricamente subrepresentados. Finalmente, planeamos producir informes detallados sobre las acciones ejecutadas, explicando cómo éstas han impactado nuestros proyectos en términos de representación e interacción con nuestras comunidades. + +Se espera que este proyecto, de dos años de duración, comience en noviembre de 2021, y estamos emocionados por ver los resultados de este trabajo! [Puedes leer la propuesta completa aquí](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### Encuesta de NumPy de 2021 + +_12 de julio de 2021_ -- En NumPy creemos en el poder de nuestra comunidad. 1,236 usuarios de NumPy de 75 países participaron en nuestra encuesta inaugural el año pasado. Los resultados de la encuesta nos dieron una muy buena comprensión acerca de lo que debería ser nuestro enfoque durante los próximos 12 meses. + +Es hora de otra encuesta, y contamos contigo una vez más. Te tomará alrededor de 15 minutos de tu tiempo. Además de inglés, el cuestionario de la encuesta está disponible en 8 idiomas adicionales: Bangla, Francés, Hindi, Japonés, Mandarín, Portugués, Ruso y Español. + +Sigue el enlace para comenzar: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Lanzamiento de NumPy 1.21.0 + +_23 de junio de 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) ya está disponible. Los aspectos más destacados de esta versión son: + +- trabajo SIMD continuo que cubre más funciones y plataformas, +- trabajo inicial sobre la nueva infraestructura dtype y conversiones de tipo, +- universal2 wheels para Python 3.8 y Python 3.9 en Mac, +- documentación mejorada, +- anotaciones mejoradas, +- nuevo `PCG64DXSM` generador de bits para números aleatorios. + +Esta versión de NumPy es el resultado de 581 solicitudes de incorporación de cambios contribuidas por 175 personas. Las versiones de Python soportadas por este lanzamiento son las 3.7-3.9, se añadirá soporte para Python 3.10 después del lanzamiento de Python 3.10. + + +### Resultados de la encuesta de NumPy de 2020 + +_22 de junio de 2021_ -- En 2020, el equipo de encuestas de NumPy, en asociación con los estudiantes y profesores de la Universidad de Michigan y la Universidad de Maryland, realizó la primera encuesta oficial de la comunidad NumPy. Encuentra los resultados de la encuesta aquí: https://numpy.org/user-survey-2020/. + + +### Lanzamiento de NumPy 1.20.0 + +_30 de enero de 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) ya está disponible. Este es el lanzamiento de NumPy más grande hasta la fecha, gracias a los más de 180 colaboradores. Las dos nuevas características más importantes son: +- Anotaciones de tipo para grandes partes de NumPy, y un nuevo submódulo `numpy.typing` que contiene los alias `ArralyLike` y `DtypeLike` que los usuarios y las librerías dependientes o downstream pueden usar al agregar anotaciones de tipo en su propio código. +- Optimizaciones de compilador SIMD multiplataforma, con soporte para instrucciones x86 (SSE, AVX), ARM64 (Neon) y PowerPC (VSX). Esto produjo mejoras significativas de rendimiento para muchas funciones (ejemplos: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversidad en el proyecto NumPy + +_20 de septiembre de 2020_ -- Escribimos una [declaración sobre el estado de, y discusión en redes sociales, alrededor de la diversidad e inclusión en el proyecto NumPy](/diversity_sep2020). + + +### Primer artículo oficial de NumPy publicado en Nature! + +_16 de septiembre de 2020_ -- Nos complace anunciar la publicación del [primer artículo oficial sobre NumPy](https://www.nature.com/articles/s41586-020-2649-2) como artículo de revisión en Nature. Esto llega 14 años después de la publicación de NumPy 1.0. El documento cubre aplicaciones y conceptos fundamentales de programación de arreglos, el rico ecosistema científico de Python construido sobre NumPy, y los recientemente añadidos protocolos de arreglos que facilitan la interoperabilidad con librerías de arreglos y tensores externas, tales como CuPy, Dask y JAX. + + +### Python 3.9 está por llegar, ¿cuándo lanzará NumPy ruedas binarias? + +_14 de septiembre de 2020_ -- Python 3.9 será lanzado dentro de unas pocas semanas. Si eres uno de los primeros en adoptar las más recientes versiones de Python, es posible que te sientas decepcionado al descubrir que NumPy (y otros paquetes binarios como SciPy) no tendrán ruedas binarias listas para el día del lanzamiento. Es un esfuerzo importante el adaptar la infraestructura de compilación a una versión nueva de Python y normalmente tarda unas cuantas semanas para que los paquetes aparezcan en PyPI y conda-forge. En preparación para este evento, por favor asegúrese de +- actualizar su versión de `pip` al menos a la 20.1 para soportar `manylinux2010` y `manylinux2014` +- utiliza [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) o `--only-binary=:all:` para evitar que `pip` intente compilar desde la fuente. + + +### Lanzamiento de NumPy 1.19.2 + +_10 de septiembre de 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) ya está disponible. Este último lanzamiento de la serie 1.19 corrige varios errores, se prepara para el [lanzamiento próximo de Cython 3.x](http://docs.cython.org/en/latest/src/changes.html) y fija las versiones de setuptools para mantener distutils funcionando mientras las modificaciones hacia el repositorio principal continúan. Las wheels para aarch64 están construidas con la última versión de manylinux2014 que corrige el problema de diferentes tamaños de página utilizados por diferentes distribuciones de linux. + +### La encuesta inaugural de NumPy ya está disponible! + +_2 de julio de 2020_ -- Esta encuesta está destinada a guiar y establecer prioridades para la toma de decisiones sobre el desarrollo de NumPy como software y como comunidad. La encuesta está disponible en 8 idiomas adicionales además del Inglés: Bangla, Hindi, Japonés, Mandarín, Portugués, Ruso, Español y Francés. + +Por favor ayúdanos a mejorar NumPy diligenciando la encuesta: [aquí](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### ¡NumPy tiene un nuevo logo! + +_24 de junio de 2020_ -- NumPy tiene ahora un nuevo logo: + +Logo de NumPy + +El logo es una versión moderna del anterior, con un diseño más limpio. Gracias a Isabela Presedo-Floyd por diseñar el nuevo logo, así como a Travis Vaught por el viejo logo que nos sirvió tanto durante más de 15 años. + + +### Lanzamiento de NumPy 1.19.0 + +_20 de junio de 2020_ -- NumPy 1.19.0 ya está disponible. Esta es el primer lanzamiento sin soporte para Python 2, por lo que fue una "versión de limpieza". La versión mínima soportada de Python es ahora Python 3.6. Una nueva característica importante es que la infraestructura de generación de números aleatorios que fue introducida en NumPy 1.17.0 es ahora accesible desde Cython. + + +### Aceptación a Season of Docs + +_11 de mayo de 2020_ -- NumPy ha sido aceptado como una de las organizaciones mentoras para el programa Google Season of Docs. ¡Estamos entusiasmados de tener la oportunidad de trabajar con un redactor técnico para mejorar la documentación de NumPy una vez más! Para más detalles, por favor consulte [el sitio oficial de Season of Docs](https://developers.google.com/season-of-docs/) y nuestra [página de ideas](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### Lanzamiento de NumPy 1.18.0 + +_22 de diciembre de 2019_ -- NumPy 1.18.0 ya está disponible. Después de los grandes cambios en 1.17.0, este es un lanzamiento de consolidación. Es el último lanzamiento menor que soportará Python 3.5. Los aspectos más destacados de la publicación incluyen la adición de la infraestructura básica para enlazar con las librerías BLAS de 64 bits y LAPACK, y un nuevo C-API para `numpy.random`. + +Por favor revise las [notas del lanzamiento](https://github.com/npm/npm/releases/tag/v2.11.0) para conocer más detalles. + + +### NumPy recibe una subvención de la Iniciativa Chan Zuckerberg + +_15 de noviembre de 2019_ -- Nos complace anunciar que NumPy y OpenBLAS, una de las dependencias clave de NumPy, han recibido una subvención conjunta por $195,000 de la Iniciativa Chan Zuckerberg a través de su [programa Esencial de Software Abierto para la Ciencia](https://chanzuckerberg.com/eoss/) que apoya el mantenimiento de software, crecimiento, desarrollo y compromiso comunitario para herramientas de código abierto críticas para la ciencia. + +Esta subvención se utilizará para acelerar los esfuerzos en la mejora de la documentación de NumPy, rediseño del sitio web y desarrollo de la comunidad para servir mejor a nuestra amplia y creciente base de usuarios, y asegurar la sostenibilidad a largo plazo del proyecto. Mientras que el equipo de OpenBLAS se enfocará en abordar conjuntos de problemas técnicos clave, en particular la seguridad de los hilos, AVX-512, y problemas de almacenamiento local de hilos (TLS), así como mejoras algorítmicas en ReLAPACK (Recursive LAPACK) de las que depende OpenBLAS. + +Puede encontrar más detalles sobre nuestras iniciativas y entregables propuestos en la [propuesta completa de subvención](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). Está previsto que el trabajo comience el 1 de diciembre de 2019 y continúe durante los siguientes 12 meses. + + + + +## Lanzamientos + +Esta es una lista de lanzamientos NumPy, con enlaces a notas de lanzamiento. Los lanzamientos de corrección de errores (solo cambia la `z` en el número de versión `x.y.z`) no tienen nuevas características; las versiones menores (aumenta la `y`) sí las tienen. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([notas de lanzamiento](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 de septiembre 2024_. +- NumPy 2.0.2 ([notas de lanzamiento](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 de agosto 2024_. +- NumPy 2.1.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 de agosto de 2024_. +- NumPy 2.0.1 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 de julio de 2024_. +- NumPy 2.0.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 de junio de 2024_. +- NumPy 1.26.4 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 de febrero de 2024_. +- NumPy 1.26.3 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 de enero de 2024_. +- NumPy 1.26.2 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _12 de noviembre de 2023_. +- NumPy 1.26.1 ([notas de publicación](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 de octubre de 2023_. +- NumPy 1.26.0 ([notas de publicación](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 de septiembre de 2023_. +- NumPy 1.25.2 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 de julio de 2023_. +- NumPy 1.25.1 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 de julio de 2023_. +- NumPy 1.24.4 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 de junio de 2023_. +- NumPy 1.25.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 de junio de 2023_. +- NumPy 1.24.3 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 de abril de 2023_. +- NumPy 1.24.2 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 de febrero de 2023_. +- NumPy 1.24.1 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 de diciembre de 2022_. +- NumPy 1.24.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 de diciembre de 2022_. +- NumPy 1.23.5 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _19 de noviembre de 2022_. +- NumPy 1.23.4 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 de octubre de 2022_. +- NumPy 1.23.3 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 de septiembre de 2022_. +- NumPy 1.23.2 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 de agosto de 2022_. +- NumPy 1.23.1 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 de julio de 2022_. +- NumPy 1.23.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 de junio de 2022_. +- NumPy 1.22.4 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 de mayo de 2022_. +- NumPy 1.21.6 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 de abril de 2022_. +- NumPy 1.22.3 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 de marzo de 2022_. +- NumPy 1.22.2 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 de febrero de 2022_. +- NumPy 1.22.1 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 de enero de 2022_. +- NumPy 1.22.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _31 de diciembre de 2021_. +- NumPy 1.21.5 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _19 de diciembre de 2021_. +- NumPy 1.21.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 de junio de 2021_. +- NumPy 1.20.3 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 de mayo de 2021_. +- NumPy 1.20.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 de enero de 2021_. +- NumPy 1.19.5 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 de enero de 2021_. +- NumPy 1.19.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 de junio de 2020_. +- NumPy 1.18.4 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 de mayo de 2020_. +- NumPy 1.17.5 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 de enero de 2020_. +- NumPy 1.18.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 de diciembre de 2019_. +- NumPy 1.17.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 de julio de 2019_. +- NumPy 1.16.0 ([notas de lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 de julio de 2018_. +- NumPy 1.14.0 ([notas del lanzamiento](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 de enero de 2018_. diff --git a/content/es/press-kit.md b/content/es/press-kit.md new file mode 100644 index 0000000000..9b66e3e683 --- /dev/null +++ b/content/es/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Kit de prensa +sidebar: false +--- + +Nos gustaría facilitarte el trabajo para incluir la identidad del proyecto NumPy en tu próximo documento académico, material de curso o presentación. + +[Aquí](https://github.com/numpy/numpy/tree/main/branding/logo) encontrarás varias versiones en alta resolución del logo de NumPy. Ten en cuenta que al utilizar los recursos de numpy.org, aceptas el [Código de Conducta de NumPy](/code-of-conduct). diff --git a/content/es/privacy.md b/content/es/privacy.md new file mode 100644 index 0000000000..ab27618f84 --- /dev/null +++ b/content/es/privacy.md @@ -0,0 +1,8 @@ +--- +title: Política de Privacidad +sidebar: false +--- + +**numpy.org** está operado por [NumFOCUS, Inc.](https://numfocus.org), el patrocinador fiscal del proyecto NumPy. Para ver la Política de Privacidad de este sitio web, por favor dirígete a https://numfocus.org/privacy-policy. + +Si tienes alguna pregunta sobre la política o la recolección, uso y prácticas de divulgación de datos de NumFOCUS, por favor ponte en contacto con el personal de NumFOCUS en privacy@numfocus.org. diff --git a/content/es/report-handling-manual.md b/content/es/report-handling-manual.md new file mode 100644 index 0000000000..aab614b2e3 --- /dev/null +++ b/content/es/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: Código de Conducta de NumPy - Cómo hacer el seguimiento de un informe +sidebar: false +--- + +Este es el manual que sigue el Comité de Código de Conducta de NumPy. Se utiliza cuando respondemos a un problema, para asegurarnos de que seamos consistentes y justos. + +Hacer cumplir el [Código de Conducta](/code-of-conduct) impacta a nuestra comunidad hoy y en el futuro. Es una acción que no tomamos a la ligera. Al revisar las medidas de cumplimiento, el Comité de Código de Conducta tendrá en cuenta los siguientes valores y directrices: + +* Actuar de manera personal en lugar de impersonal. El Comité puede involucrar a las partes para que comprendan la situación, respetando al mismo tiempo la privacidad y, en su caso, la confidencialidad de los informadores. Sin embargo, a veces es necesario comunicarse directamente con uno o más individuos: el objetivo del Comité es mejorar la salud de nuestra comunidad en lugar de solo producir una decisión formal. +* Enfatizar la empatía hacia los individuos en lugar de juzgar el comportamiento, evitando etiquetas binarias de “bueno” y “malo/malvado”. Existen agresiones y acosos manifiestos y claros, y los abordaremos con firmeza. Pero en muchas circunstancias puede ser complejo resolver estas situaciones, sobre todo aquellas en las que desacuerdos normales se convierten en comportamientos inútiles o perjudiciales para las partes. Comprender el contexto completo y encontrar un camino que vuelva involucrar a todos es difícil, pero es en última instancia lo más productivo para nuestra comunidad. +* Comprendemos que el correo electrónico es un medio difícil y puede aislarnos. Recibir críticas por medio de correo electrónico, sin ningún contacto personal, puede ser particularmente doloroso. Esto hace que sea especialmente importante mantener una ambiente de apertura y respeto hacia las opiniones de los demás. También significa que debemos ser transparentes en nuestro actuar, y que haremos todo lo que esté a nuestro alcance para asegurarnos de que todos nuestros miembros reciban un trato justo y comprensivo. +* La discriminación puede ser sutil e inconsciente. Ésta puede manifestarse como injusticia y hostilidad en interacciones que, por todo lo demás, serían normales. Sabemos que esto ocurre, y nos ocuparemos de estar pendientes de esto. Nos gustaría mucho saber de usted si cree que ha sido tratado injustamente, y utilizaremos estos procedimientos para asegurarnos de que su queja sea escuchada y atendida. +* Ayude a aumentar el compromiso con buenas prácticas de debate: trate de identificar los puntos en los que el debate puede haberse interrumpido y proporcione información práctica, sugerencias y recursos que puedan conducir a un cambio positivo en estos aspectos. +* Sea consciente de las necesidades de los nuevos miembros: proporcióneles apoyo y consideración explícitos, con el objetivo de aumentar la participación, particularmente de grupos subrepresentados. +* Las personas provienen de entornos culturales y lingüísticos diferentes. Intente identificar cualquier malentendido honesto causado por un hablante no nativo y ayúdele a entender el problema y lo que puede cambiar para evitar causar una ofensa. La discusión compleja en una lengua extranjera puede ser muy intimidante, y queremos aumentar nuestra diversidad también a través de nacionalidades y culturas. + + +## Mediación + +La mediación informal voluntaria es una herramienta a nuestra disposición. En contextos tales como cuando dos o más partes han escalado hasta el punto de un comportamiento inapropiado (algo tristemente común en el conflicto humano), puede ser útil facilitar un proceso de mediación. Éste es sólo un ejemplo: el Comité puede considerar la mediación en cualquier caso, siendo consciente de que este proceso se entiende como estrictamente voluntario y que ninguna de las partes puede ser presionada a participar. Si el Comité sugiere la mediación, este debería: + +* Encontrar un candidato que pueda servir de mediador. +* Obtener el acuerdo del informante(s). El informante(s) tienen total libertad para rechazar la propuesta de mediación o para proponer un mediador alternativo. +* Obtener el acuerdo de la persona informante(s). +* Acuerden el mediador: aunque las partes pueden proponer un mediador diferente al candidato sugerido, solo si se llega a un acuerdo común en todos los términos se puede avanzar en el proceso. +* Establezca un marco de tiempo para completar la mediación, idealmente dentro de dos semanas. + +El mediador dialogará con todas las partes y buscará una decisión que sea satisfactoria para todos. Una vez concluido el proceso, el mediador proporcionará un informe (revisado por todas las partes del proceso) al Comité, con recomendaciones sobre pasos a seguir. El comité a su vez evaluará estos resultados (bien se haya logrado una decisión satisfactoria o no) y decidirá sobre cualquier acción que considere necesaria. + + +## Cómo responderá el Comité a los informes + +Cuando el Comité (o uno de sus miembros) recibe un informe, primero determinará si éste se refiere a una violación clara y grave (como se define a continuación). En caso afirmativo, será necesario tomar medidas inmediatas adicionales al proceso de gestión de informe habitual. + + +## Acciones violatorias claras y severas + +Sabemos que es dolorosamente común que la comunicación en Internet comience o se convierta en un abuso evidente y manifiesto. Nos ocuparemos rápidamente de violaciones claras y graves, tales como amenazas personales, lenguaje violento, sexista o racista. + +Cuando un miembro del Comité de Código de Conducta tenga conocimiento de una violación clara y grave, hará lo siguiente: + +* Desconectará inmediatamente al originador de todos los canales de comunicación de NumPy. +* Responderá al informante que su informe ha sido recibido y que el autor ha sido desconectado. +* En todo caso, el moderador deberá hacer un esfuerzo razonable por contactar al originador, y comunicarle específicamente cómo su lenguaje o sus acciones se constituyeron como "violación clara y grave". El moderador también debe decir que, si el originador cree que esto es injusto o desea reconectarse con NumPy, tiene el derecho a solicitar una revisión, como se indica a continuación, por el Comité de Código de Conducta. El moderador debería copiar esta explicación al Comité de Código de conducta. +* El Comité de Código de conducta revisará y aprobará formalmente todos los casos en los que se haya aplicado este mecanismo, para asegurarse de que no se esté utilizando para controlar desacuerdos ordinarios acalorados. + + +## Gestión de informes + +Cuando se envíe un informe al Comité, éste responderá inmediatamente al informante confirmando su recepción. Esta respuesta deberá enviarse dentro de un plazo de 72 horas, y el grupo deberá esforzarse por responder en un tiempo inferior. + +Si un informe no contiene suficiente información, el Comité obtendrá todos los datos relevantes antes de actuar. El Comité tiene la facultad de actuar en nombre del Consejo Directivo al contactar cualquier individuo implicado para obtener una descripción más completa de los hechos. + +El Comité procederá a revisar el incidente y determinará, en la medida de su capacidad: + +* Qué sucedió. +* Si este evento constituye una violación del Código de Conducta. +* Quiénes son las parte(s) responsables. +* Si se trata de una situación en progreso y existe una amenaza para la seguridad física de cualquiera. + +Esta información se recopilará por escrito, y siempre que sea posible se registrarán y conservarán las deliberaciones del grupo (por ejemplo, transcripciones de chat, discusiones por correo electrónico, conferencias telefónicas grabadas, resúmenes de conversaciones de voz, etc.). + +Es importante conservar un archivo de todas las actividades de este Comité para asegurar consistencia en el comportamiento y proporcionar memoria institucional para el proyecto. Para ayudar en esto, el canal de discusión por defecto para este Comité será una lista de correo privada accesible a los miembros actuales y futuros del Comité, así como a los miembros del Consejo Directivo con previa solicitud justificada. Si el Comité considera necesario utilizar comunicaciones fuera de la lista (por ejemplo, para una respuesta temprana/rápida), deberá, en todos los casos, resumirlos y documentarlos de vuelta a la lista, de manera que se mantenga un buen registro del proceso. + +El Comité de Código de Conducta debería aspirar a que se acuerde una resolución en el plazo de dos semanas. Dado el caso de que no se pueda establecer una decisión dentro de dicho plazo, el Comité responderá al informante(s) con una actualización y duración estimada para la decisión. + + +## Resoluciones + +El comité debe llegar a un acuerdo sobre una resolución por consenso. Si el grupo no puede alcanzar un consenso y permanece en un punto muerto durante más de una semana, le trasladará el asunto al Consejo Directivo para que lo resuelva. + +Las posibles respuestas pueden incluir: + +* No tomar más medidas: + - si determinamos que no se han producido violaciones; + - si el asunto se ha resuelto públicamente mientras que el Comité estaba estudiando las respuestas. +* Coordinación de mediación voluntaria: si todas las partes implicadas están de acuerdo, el Comité podrá facilitar un proceso de mediación como se detalla arriba. +* Recordar públicamente y señalar que algunos comportamientos/acciones/usos de lenguaje, han sido juzgados como inapropiados y por qué, bajo el contexto actual, pueden ser hirientes para algunas personas, solicitando a la comunidad que se autorregule. +* Una amonestación privada por parte del Comité al individuo(s) involucrado(s). En este caso, el presidente del grupo entregará esa amonestación al (los) individuo(s) por correo electrónico, con copia al grupo. +* Una amonestación pública. En este caso, el presidente del Comité entregará la amonestación por el mismo medio por el que se produjo la violación, dentro de los límites de lo posible. Por ejemplo, la lista de correo original para una violación de correo electrónico, pero para una discusión en una sala de chat, en la que la persona o el contexto pueden haber desaparecido, puede buscarse el contacto por otros medios. El grupo puede elegir publicar este mensaje en otro lugar con fines de documentación. +* Una solicitud de disculpa pública o privada, asumiendo que el informante esté de acuerdo con esta idea: puede negarse, a su discreción, a continuar contacto con el infractor. El presidente entregará esta solicitud. El Comité puede, si así lo desea, adjuntar “condiciones” a esta petición: por ejemplo, el grupo puede solicitar a un infractor pedir disculpas para preservar su membresía en una lista de correo. +* Un “acuerdo mutuo de suspensión” en el que el Comité solicita al individuo la abstención temporal de participación en la comunidad. Si el individuo decide no aceptar una suspensión temporal voluntariamente, el Comité puede emitir un “período obligatorio de reflexión”. +* Una prohibición permanente o temporal de algunos o de todos los espacios de NumPy (listas de correo, gitter.im, etc.). El grupo mantendrá los registros de todas esas prohibiciones, para que puedan ser revisadas en el futuro o ser mantenidas en caso contrario. + +Una vez que se acuerda una resolución, pero antes de que se promulgue, el Comité se pondrá en contacto con el informante original y con cualquier otra parte afectada y explicará la resolución propuesta. El Comité preguntará si esta resolución es aceptable y deberá tomar nota de los comentarios para su registro. + +Finalmente, el Comité presentará un informe al Consejo Directivo de NumPy (así como al equipo central de NumPy en caso de una decisión en curso, tal como una prohibición). + +El Comité nunca debatirá públicamente el asunto; todas las declaraciones públicas serán realizadas por el presidente del Comité de Código de Conducta o el Consejo Directivo de NumPy. + + +## Conflictos de intereses + +En caso de cualquier conflicto de intereses, el miembro del Comité deberá notificarlo inmediatamente a los demás miembros y excusarse en caso de ser necesario. diff --git a/content/es/tabcontents.yaml b/content/es/tabcontents.yaml new file mode 100644 index 0000000000..fa5776380a --- /dev/null +++ b/content/es/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy constituye la base de potentes librerías de aprendizaje automático como [scikit-learn](https://scikit-learn.org) y [SciPy](https://www.scipy.org). A medida que crece el aprendizaje automático, también lo hace la lista de librerías basadas en NumPy. Las capacidades de aprendizaje profundo de [TensorFlow](https://www.tensorflow.org) tienen amplias aplicaciones— entre ellas el reconocimiento de voz e imágenes, las aplicaciones basadas en texto, el análisis de series de tiempo y la detección de vídeo. [PyTorch](https://pytorch.org), otra librería de aprendizaje profundo, es popular entre los investigadores de visión artificial y procesamiento del lenguaje natural. + para2: Las técnicas estadísticas denominadas métodos [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205), como binning, bagging, stacking y boosting, se encuentran entre los algoritmos de ML implementados por herramientas como [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/) y [CatBoost](https://catboost.ai) — uno de los motores de inferencia más rápidos. [Yellowbrick](https://www.scikit-yb.org/en/latest/) y [Eli5](https://eli5.readthedocs.io/en/latest/) ofrecen visualizaciones de aprendizaje automático. + arraylibraries: + intro: + - + text: La API de NumPy es el punto de partida cuando se escriben librerías para explotar hardware innovador, crear tipos de arreglos especializadas o añadir capacidades más allá de lo que NumPy proporciona. + headers: + - + text: Librería de arreglos + - + text: Capacidades y áreas de aplicación + libraries: + - + title: Dask + text: Arreglos distribuidos y paralelismo avanzado para análisis, que permiten un rendimiento a escala. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: Librería de arreglos compatible con NumPy para cálculo acelerado en la GPU con Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.dev + - + title: JAX + text: "Transformaciones componibles de programas NumPy: diferenciar, vectorizar, compilación justo-a-tiempo a GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Arreglos multidimensionales indexados y etiquetados para análisis y visualización avanzados. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: Librería de arreglos dispersos compatible con NumPy que se integra con el álgebra lineal dispersa de Dask y SciPy. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: Marco de aprendizaje profundo que acelera el camino desde la creación de prototipos de investigación hasta la implantación en producción. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: Una plataforma integral de aprendizaje automático para crear y desplegar fácilmente aplicaciones basadas en ML. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: Plataforma de desarrollo multilingüe para datos y análisis columnares en memoria. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://arrow.apache.org/ + - + title: xtensor + text: Arreglos multidimensionales con difusión y computación perezosa para análisis numérico. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipular datos similares a JSON con expresiones similares a NumPy. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: Sistema de backend de Python que desacopla la API de la implementación; unumpy proporciona una API de NumPy. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Aprendizaje tensorial, álgebra y backends para usar de manera fluida NumPy, PyTorch, TensorFlow o CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: Casi todos los científicos que trabajan en Python recurren a la potencia de NumPy. + - + text: "NumPy aporta la potencia de cálculo de lenguajes como C y Fortran a Python, un lenguaje mucho más fácil de aprender y utilizar. Con esta potencia viene la sencillez: una solución en NumPy suele ser clara y elegante." + libraries: + - + title: Computación Cuántica + alttext: Un chip para computador. + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: Computación Estadística + alttext: Un gráfico lineal con la línea moviéndose hacia arriba. + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Procesamiento de Señales + alttext: Un gráfico de barras con valores positivos y negativos. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HiperSpy + - + title: Procesamiento de Imágenes + alttext: Una fotografía de las montañas. + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Grafos y Redes + alttext: Un grafo simple. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomía + alttext: Un telescopio. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: Psicología Cognitiva + alttext: Una cabeza humana con engranajes. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: Bioinformática + alttext: Una hebra de ADN. + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: Inferencia Bayesiana + alttext: Un gráfico con una curva en forma de campanas. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: Análisis Matemático + alttext: Cuatro símbolos matemáticos. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: Química + alttext: Un tubo de ensayo. + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: Geociencia + alttext: La Tierra. + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: Procesamiento Geográfico + alttext: Un mapa. + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: Arquitectura e Ingeniería + alttext: Una placa de desarrollo de microprocesadores. + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst - Analista de Energía de Ciudad + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy es el núcleo de un rico ecosistema de librerías de ciencia de datos. Un flujo de trabajo exploratorio típico de ciencia de datos podría verse así:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Diagrama de las librerías de Python. Las cinco categorías son "Extraer, Transformar, Cargar", "Exploración de Datos", "Modelado de Datos", "Evaluación de Datos" y "Presentación de Datos". + image2: + - + img: /images/content_images/data-science.png + alttext: Diagrama de tres círculos superpuestos. Los círculos se denominan "Matemáticas", "Ciencias de la Computación" y "Conocimientos Especializados". En el centro del diagrama, con los tres círculos superpuestos, hay un área denominada "Ciencia de datos". + examples: + - + text: "Extraer, Transformar, Cargar: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor.readthedocs.io/)" + - + text: "Análisis Exploratorio: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "Modelado y evaluación: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Informes en un panel de control: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://github.com/voila-dashboards/voila)" + content: + - + text: Para grandes volúmenes de datos, [Dask](https://dask.org) y [Ray](https://ray.io/) están diseñados para escalarse. Las implementaciones estables se basan en el versionado de datos ([DVC](https://dvc.org)), rastreo de experimentos ([MLFlow](https://mlflow.org)), y automatización del flujo de trabajo ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) y [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: Un diagrama de flujo hecho en matplotlib + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: Un diagrama de dispersión hecho en ggpy + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: Un diagrama de caja hecho en plotly + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: Un diagrama de flujo hecho en altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: Un gráfico de pares de dos tipos de gráficos, un gráfico de trazado y un gráfico de frecuencias hecho en seaborn + - + url: https://docs.pyvista.org/examples/index.html + img: /images/content_images/v_pyvista.png + alttext: Un renderizado de volumen 3D realizado en PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: Una imagen multidimensional hecha en napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: Un diagrama de Voronoi hecho en vispy. + content: + - + text: NumPy es un componente esencial en el floreciente [panorama de visualización de Python](https://pyviz.org/overviews/index.html), que incluye [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://github.com/napari/napari), y [PyVista](https://github.com/pyvista/pyvista), por nombrar algunos. + - + text: El procesamiento acelerado de arreglos de gran tamaño de NumPy permite a los investigadores visualizar conjuntos de datos mucho mayores a los que el Python nativo podría manejar. diff --git a/content/es/teams/index.md b/content/es/teams/index.md new file mode 100644 index 0000000000..f52f6bf873 --- /dev/null +++ b/content/es/teams/index.md @@ -0,0 +1,35 @@ +--- +title: Equipos de NumPy +sidebar: false +--- + +Somos un equipo internacional en una misión para apoyar a las comunidades científicas y de investigaciones alrededor del mundo, mediante la construcción de software de código abierto de calidad. +¡[Únete](/contribute)! + +### Mantenedores + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Equipo de documentación + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Equipo de la página web + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Equipo de clasificación + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Equipo de encuestas + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Mantenedores eméritos + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# Gobernanza + +Para la lista de personas del Consejo Directivo, por favor ve [aquí](https://numpy.org/about/). diff --git a/content/es/user-survey-2020.md b/content/es/user-survey-2020.md new file mode 100644 index 0000000000..dbfd1bb704 --- /dev/null +++ b/content/es/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: ENCUESTA DE LA COMUNIDAD NUMPY 2020 +sidebar: false +--- + +En 2020, el equipo de encuestas de NumPy, en asociación con estudiantes y profesores de un curso de Maestría en Metodología de Encuestas organizado conjuntamente por la Universidad de Michigan y la Universidad de Maryland, llevaron a cabo la primera encuesta oficial de la comunidad NumPy. Más de 1,200 usuarios de 75 países participaron para ayudarnos a proyectar un panorama de la comunidad NumPy y expresaron sus pensamientos sobre el futuro del proyecto. + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Página de portada del informe de la encuesta de usuarios de NumPy de 2020, titulado "Encuesta de la Comunidad de NumPy 2020 - resultados"' width = '250' +{{< /figure >}} + +**[Descarga el informe](/surveys/NumPy_usersurvey_2020_report.pdf)** para ver a detalle los resultados de la encuesta. + + +Para los puntos destacados, echa un vistazo a **[esta infografía](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**. + +¿Listo para una inmersión profunda? Visita **https://numpy.org/user-survey-2020-details/**. + diff --git a/content/es/user-surveys.md b/content/es/user-surveys.md new file mode 100644 index 0000000000..ef8467358d --- /dev/null +++ b/content/es/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: ENCUESTAS DE USUARIOS DE NUMPY +sidebar: false +--- + +**2020** El equipo de encuestas de NumPy, en asociación con estudiantes y profesores de la Universidad de Michigan y de la Universidad de Maryland, realizó la primera encuesta oficial de la comunidad de NumPy. Encuentra los resultados de la encuesta [aquí](https://numpy.org/user-survey-2020/). + +**2021** Los datos recolectados están siendo analizados actualmente. + +Si tienes alguna pregunta o sugerencia sobre las encuestas pasadas o futuras, por favor abre una propuesta [aquí](https://github.com/numpy/numpy-surveys/issues). diff --git a/content/fa/404.md b/content/fa/404.md new file mode 100644 index 0000000000..da192c53c0 --- /dev/null +++ b/content/fa/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +Oops! You've reached a dead end. + +If you think something should be here, you can [open an issue](https://github.com/numpy/numpy.org/issues) on GitHub. diff --git a/content/fa/_index.md b/content/fa/_index.md new file mode 100644 index 0000000000..be88f9e642 --- /dev/null +++ b/content/fa/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Powerful N-dimensional arrays' +body = ''' +Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. +''' + +[[item]] +type = 'card' +title = 'Numerical computing tools' +body = ''' +NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. +''' + +[[item]] +type = 'card' +title = 'Open source' +body = ''' +Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. +''' + +[[item]] +type = 'card' +title = 'Performant' +body = ''' +The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. +''' + +[[item]] +type = 'card' +title = 'Easy to use' +body = ''' +NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. +''' + +{{< /grid>}} diff --git a/content/fa/about.md b/content/fa/about.md new file mode 100644 index 0000000000..243f7083ae --- /dev/null +++ b/content/fa/about.md @@ -0,0 +1,90 @@ +--- +title: About Us +sidebar: false +--- + +NumPy is an open source project that enables numerical computing with Python. It was created in 2005 building on the early work of the Numeric and Numarray libraries. NumPy will always be 100% open source software and free for all to use. It is released under the liberal terms of the [modified BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +NumPy is developed in the open on GitHub, through the consensus of the NumPy and wider scientific Python community. For more information on our governance approach, please see our [Governance Document](https://www.numpy.org/devdocs/dev/governance/index.html). + + +## Steering Council + +The NumPy Steering Council is the project's governing body. Its role is to ensure, through working with and serving the broader NumPy community, the long-term sustainability of the project, both as a software package and community. The NumPy Steering Council currently consists of the following members (in alphabetical order, by last name): + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Melissa Weber Mendonça +- Eric Wieser + +Emeritus: + +- Alex Griffing (2015-2017) +- Allan Haldane (2015-2021) +- Marten van Kerkwijk (2017-2019) +- Travis Oliphant (project founder, 2005-2012) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Jaime Fernández del Río (2014-2021) +- Pauli Virtanen (2008-2021) + +To contact the NumPy Steering Council, please email numpy-team@googlegroups.com. + +## Teams + +The NumPy project leadership is actively working on diversifying contribution pathways to the project.
NumPy currently has the following teams: + +- development +- documentation +- triage +- website +- survey +- translations +- sprint mentors +- optimization +- funding and grants + +See the [Team](/teams) page for more info. + +## NumFOCUS Subcommittee + +- Charles Harris +- Ralf Gommers +- Inessa Pawson +- Sebastian Berg +- External member: Thomas Caswell + +## Sponsors + +NumPy receives direct funding from the following sources: +{{< sponsors >}} + + +## Institutional Partners + +Institutional Partners are organizations that support the project by employing people that contribute to NumPy as part of their job. Current Institutional Partners include: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## Donate + +If you have found NumPy useful in your work, research, or company, please consider a donation to the project commensurate with your resources. Any amount helps! All donations will be used strictly to fund the development of NumPy’s open source software, documentation, and community. + +NumPy is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States. NumFOCUS provides NumPy with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Visit [numfocus.org](https://numfocus.org) for more information. + +Donations to NumPy are managed by [NumFOCUS](https://numfocus.org). For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax advisor about your particular tax situation. + +NumPy's Steering Council will make the decisions on how to best use any funds received. Technical and infrastructure priorities are documented on the [NumPy Roadmap](https://www.numpy.org/neps/index.html#roadmap). + +{{}} + diff --git a/content/fa/arraycomputing.md b/content/fa/arraycomputing.md new file mode 100644 index 0000000000..abd29d11c1 --- /dev/null +++ b/content/fa/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: Array Computing +sidebar: false +--- + +*Array computing is the foundation of statistical, mathematical, scientific computing in various contemporary data science and analytics applications such as data visualization, digital signal processing, image processing, bioinformatics, machine learning, AI, and several others.* + +Large scale data manipulation and transformation depends on efficient, high-performance array computing. The language of choice for data analytics, machine learning, and productive numerical computing is **Python.** + +**Num**erical **Py**thon or NumPy is its de-facto standard Python programming language library that supports large, multi-dimensional arrays and matrices, and comes with a vast collection of high-level mathematical functions to operate on these arrays. + +Since the launch of NumPy in 2006, Pandas appeared on the landscape in 2008, and it was not until a couple of years ago that several array computing libraries showed up in succession, crowding the array computing landscape. Many of these newer libraries mimic NumPy-like features and capabilities, and pack newer algorithms and features geared towards machine learning and artificial intelligence applications. + +arraycl + +**Array computing** is based on **arrays** data structures. *Arrays* are used to organize vast amounts of data such that a related set of values can be easily sorted, searched, mathematically manipulated, and transformed easily and quickly. + +Array computing is *unique* as it involves operating on the data array *at once*. What this means is that any array operation applies to an entire set of values in one shot. This vectorized approach provides speed and simplicity by enabling programmers to code and operate on aggregates of data, without having to use loops of individual scalar operations. diff --git a/content/fa/case-studies/blackhole-image.md b/content/fa/case-studies/blackhole-image.md new file mode 100644 index 0000000000..22334ebed0 --- /dev/null +++ b/content/fa/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "Case Study: First Image of a Black Hole" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## A telescope the size of the earth + +The [Event Horizon telescope (EHT)](https://eventhorizontelescope.org) is an array of eight ground-based radio telescopes forming a computational telescope the size of the earth, studing the universe with unprecedented sensitivity and resolution. The huge virtual telescope, which uses a technique called very-long-baseline interferometry (VLBI), has an angular resolution of [20 micro-arcseconds][resolution] — enough to read a newspaper in New York from a sidewalk café in Paris! + +### Key Goals and Results + +* **A New View of the Universe:** The groundwork for the EHT's groundbreaking image had been laid 100 years earlier when [Sir Arthur Eddington][eddington] yielded the first observational support of Einstein's theory of general relativity. + +* **The Black Hole:** EHT was trained on a supermassive black hole approximately 55 million light-years from Earth, lying at the center of the galaxy Messier 87 (M87) in the Virgo galaxy cluster. Its mass is 6.5 billion times the Sun's. It had been studied for [over 100 years](https://www.jpl.nasa.gov/news/news.php?feature=7385), but never before had a black hole been visually observed. + +* **Comparing Observations to Theory:** From Einstein’s general theory of relativity, scientists expected to find a shadow-like region caused by gravitational bending and capture of light. Scientists could use it to measure the black hole's enormous mass. + +### The Challenges + +* **Computational scale** + + EHT poses massive data-processing challenges, including rapid atmospheric phase fluctuations, large recording bandwidth, and telescopes that are widely dissimilar and geographically dispersed. + +* **Too much information** + + Each day EHT generates over 350 terabytes of observations, stored on helium-filled hard drives. Reducing the volume and complexity of this much data is enormously difficult. + +* **Into the unknown** + + When the goal is to see something never before seen, how can scientists be confident the image is correct? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT Data Processing Pipeline' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## NumPy’s Role + +What if there's a problem with the data? Or perhaps an algorithm relies too heavily on a particular assumption. Will the image change drastically if a single parameter is changed? + +The EHT collaboration met these challenges by having independent teams evaluate the data, using both established and cutting-edge image reconstruction techniques. When results proved consistent, they were combined to yield the first-of-a-kind image of the black hole. + +Their work illustrates the role the scientific Python ecosystem plays in advancing science through collaborative data analysis. + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'The role of NumPy in Black Hole imaging' +{{< /figure >}} + +For example, the [`eht-imaging`][ehtim] Python package provides tools for simulating and performing image reconstruction on VLBI data. NumPy is at the core of array data processing used in this package, as illustrated by the partial software dependency chart below. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Software dependency chart of ehtim package highlighting NumPy' +{{< /figure >}} + +Besides NumPy, many other packages, such as [SciPy](https://www.scipy.org) and [Pandas](https://pandas.io), are part of the data processing pipeline for imaging the black hole. The standard astronomical file formats and time/coordinate transformations were handled by [Astropy][astropy], while [Matplotlib][mpl] was used in visualizing data throughout the analysis pipeline, including the generation of the final image of the black hole. + +## Summary + +The efficient and adaptable n-dimensional array that is NumPy's central feature enabled researchers to manipulate large numerical datasets, providing a foundation for the first-ever image of a black hole. A landmark moment in science, it gives stunning visual evidence of Einstein’s theory. The achievement encompasses not only technological breakthroughs but also international collaboration among over 200 scientists and some of the world's best radio observatories. Innovative algorithms and data processing techniques, improving upon existing astronomical models, helped unfold a mystery of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/fa/case-studies/cricket-analytics.md b/content/fa/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..d0be271f50 --- /dev/null +++ b/content/fa/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "Case Study: Cricket Analytics, the game changer!" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, the biggest Cricket Festival in India' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## About Cricket + +It would be an understatement to state that Indians love cricket. The game is played in just about every nook and cranny of India, rural or urban, popular with the young and the old alike, connecting billions in India unlike any other sport. Cricket enjoys lots of media attention. There is a significant amount of [money](https://www.statista.com/topics/4543/indian-premier-league-ipl/) and fame at stake. Over the last several years, technology has literally been a game changer. Audiences are spoilt for choice with streaming media, tournaments, affordable access to mobile based live cricket watching, and more. + +The Indian Premier League (IPL) is a professional Twenty20 cricket league, founded in 2008. It is one of the most attended cricketing events in the world, valued at [$6.7 billion](https://en.wikipedia.org/wiki/Indian_Premier_League) in 2019. + +Cricket is a game of numbers - the runs scored by a batsman, the wickets taken by a bowler, the matches won by a cricket team, the number of times a batsman responds in a certain way to a kind of bowling attack, etc. The capability to dig into cricketing numbers for both improving performance and studying the business opportunities, overall market, and economics of cricket via powerful analytics tools, powered by numerical computing software such as NumPy, is a big deal. Cricket analytics provides interesting insights into the game and predictive intelligence regarding game outcomes. + +Today, there are rich and almost infinite troves of cricket game records and statistics available, e.g., [ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) and [cricsheet](https://cricsheet.org). These and several such cricket databases have been used for [cricket analysis](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances) using the latest machine learning and predictive modelling algorithms. Media and entertainment platforms along with professional sports bodies associated with the game use technology and analytics for determining key metrics for improving match winning chances: + +* batting performance moving average, +* score forecasting, +* gaining insights into fitness and performance of a player against different opposition, +* player contribution to wins and losses for making strategic decisions on team composition + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Cricket Pitch, the focal point in the field' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### Key Data Analytics Objectives + +* Sports data analytics are used not only in cricket but many [other sports](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) for improving the overall team performance and maximizing winning chances. +* Real-time data analytics can help in gaining insights even during the game for changing tactics by the team and by associated businesses for economic benefits and growth. +* Besides historical analysis, predictive models are harnessed to determine the possible match outcomes that require significant number crunching and data science know-how, visualization tools and capability to include newer observations in the analysis. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'Cricket Pose Estimator' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### The Challenges + +* **Data Cleaning and preprocessing** + + IPL has expanded cricket beyond the classic test match format to a much larger scale. The number of matches played every season across various formats has increased and so has the data, the algorithms, newer sports data analysis technologies and simulation models. Cricket data analysis requires field mapping, player tracking, ball tracking, player shot analysis, and several other aspects involved in how the ball is delivered, its angle, spin, velocity, and trajectory. All these factors together have increased the complexity of data cleaning and preprocessing. + +* **Dynamic Modeling** + + In cricket, just like any other sport, there can be a large number of variables related to tracking various numbers of players on the field, their attributes, the ball, and several possibilities of potential actions. The complexity of data analytics and modeling is directly proportional to the kind of predictive questions that are put forth during analysis and are highly dependent on data representation and the model. Things get even more challenging in terms of computation, data comparisons when dynamic cricket play predictions are sought such as what would have happened if the batsman had hit the ball at a different angle or velocity. + +* **Predictive Analytics Complexity** + + Much of the decision making in cricket is based on questions such as "how often does a batsman play a certain kind of shot if the ball delivery is of a particular type", or "how does a bowler change his line and length if the batsman responds to his delivery in a certain way". This kind of predictive analytics query requires highly granular dataset availability and the capability to synthesize data and create generative models that are highly accurate. + +## NumPy’s Role in Cricket Analytics + +Sports Analytics is a thriving field. Many researchers and companies [use NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) and other PyData packages like Scikit-learn, SciPy, Matplotlib, and Jupyter, besides using the latest machine learning and AI techniques. NumPy has been used for various kinds of cricket related sporting analytics such as: + +* **Statistical Analysis:** NumPy's numerical capabilities help estimate the statistical significance of observational data or match events in the context of various player and game tactics, estimating the game outcome by comparison with a generative or static model. [Causal analysis](https://amplitude.com/blog/2017/01/19/causation-correlation) and [big data approaches](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) are used for tactical analysis. + +* **Data Visualization:** Data graphing and [visualization](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) provide useful insights into relationship between various datasets. + +## Summary + +Sports Analytics is a game changer when it comes to how professional games are played, especially how strategic decision making happens, which until recently was primarily done based on “gut feeling" or adherence to past traditions. NumPy forms a solid foundation for a large set of Python packages which provide higher level functions related to data analytics, machine learning, and AI algorithms. These packages are widely deployed to gain real-time insights that help in decision making for game-changing outcomes, both on field as well as to draw inferences and drive business around the game of cricket. Finding out the hidden parameters, patterns, and attributes that lead to the outcome of a cricket match helps the stakeholders to take notice of game insights that are otherwise hidden in numbers and statistics. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagram showing benefits of using NumPy for cricket analytics' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/fa/case-studies/deeplabcut-dnn.md b/content/fa/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..257905de91 --- /dev/null +++ b/content/fa/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "Case Study: DeepLabCut 3D Pose Estimation" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analyzing mice hand-movement using DeepLapCut' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Open Source Software is accelerating Biomedicine. DeepLabCut enables automated video analysis of animal behavior using Deep Learning. +> +> {{< /blockquote >}} + +## About DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) is an open source toolbox that empowers researchers at hundreds of institutions worldwide to track behaviour of laboratory animals, with very little training data, at human-level accuracy. With DeepLabCut technology, scientists can delve deeper into the scientific understanding of motor control and behavior across animal species and timescales. + +Several areas of research, including neuroscience, medicine, and biomechanics, use data from tracking animal movement. DeepLabCut helps in understanding what humans and other animals are doing by parsing actions that have been recorded on film. Using automation for laborious tasks of tagging and monitoring, along with deep neural network based data analysis, DeepLabCut makes scientific studies involving observing animals, such as primates, mice, fish, flies etc., much faster and more accurate. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Colored dots track the positions of a racehorse’s body part' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' +{{< /figure >}} + +DeepLabCut's non-invasive behavioral tracking of animals by extracting the poses of animals is crucial for scientific pursuits in domains such as biomechanics, genetics, ethology & neuroscience. Measuring animal poses non-invasively from video - without markers - in dynamically changing backgrounds is computationally challenging, both technically as well as in terms of resource needs and training data required. + +DeepLabCut allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior through a Python based software toolkit. With DeepLabCut, researchers can identify distinct frames from videos, digitally label specific body parts in a few dozen frames with a tailored GUI, and then the deep learning based pose estimation architectures in DeepLabCut learn how to pick out those same features in the rest of the video and in other similar videos of animals. It works across species of animals, from common laboratory animals such as flies and mice to more unusual animals like [cheetahs][cheetah-movement]. + +DeepLabCut uses a principle called [transfer learning](https://arxiv.org/pdf/1909.11229), which greatly reduces the amount of training data required and speeds up the convergence of the training period. Depending on the needs, users can pick different network architectures that provide faster inference (e.g. MobileNetV2), which can also be combined with real-time experimental feedback. DeepLabCut originally used the feature detectors from a top-performing human pose estimation architecture, called [DeeperCut](https://arxiv.org/abs/1605.03170), which inspired the name. The package now has been significantly changed to include additional architectures, augmentation methods, and a full front-end user experience. Furthermore, to support large-scale biological experiments DeepLabCut provides active learning capabilities so that users can increase the training set over time to cover edge cases and make their pose estimation algorithm robust within the specific context. + +Recently, the [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) was introduced, which provides pre-trained models for various species and experimental conditions from facial analysis in primates to dog posture. This can be run for instance in the cloud without any labeling of new data, or neural network training, and no programming experience is necessary. + +### Key Goals and Results + +* **Automation of animal pose analysis for scientific studies:** + + The primary objective of DeepLabCut technology is to measure and track posture of animals in a diverse settings. This data can be used, for example, in neuroscience studies to understand how the brain controls movement, or to elucidate how animals socially interact. Researchers have observed a [tenfold performance boost](https://www.biorxiv.org/content/10.1101/457242v1) with DeepLabCut. Poses can be inferred offline at up to 1200 frames per second (FPS). + +* **Creation of an easy-to-use Python toolkit for pose estimation:** + + DeepLabCut wanted to share their animal pose-estimation technology in the form of an easy to use tool that can be adopted by researchers easily. So they have created a complete, easy-to-use Python toolbox with project management features as well. These enable not only automation of pose-estimation but also managing the project end-to-end by helping the DeepLabCut Toolkit user right from the dataset collection stage to creating shareable and reusable analysis pipelines. + + Their [toolkit][DLCToolkit] is now available as open source. + + A typical DeepLabCut Workflow includes: + + - creation and refining of training sets via active learning + - creation of tailored neural networks for specific animals and scenarios + - code for large-scale inference on videos + - draw inferences using integrated visualization tools + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pose estimation steps with DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +{{< /figure >}} + +### The Challenges + +* **Speed** + + Fast processing of animal behavior videos in order to measure their behavior and at the same time make scientific experiments more efficient, accurate. Extracting detailed animal poses for laboratory experiments, without markers, in dynamically changing backgrounds, can be challenging, both technically as well as in terms of resource needs and training data required. Coming up with a tool that is easy to use without the need for skills such as computer vision expertise that enables scientists to do research in more real-world contexts, is a non-trivial problem to solve. + +* **Combinatorics** + + Combinatorics involves assembly and integration of movement of multiple limbs into individual animal behavior. Assembling keypoints and their connections into individual animal movements and linking them across time is a complex process that requires heavy-duty numerical analysis, especially in case of multi-animal movement tracking in experiment videos. + +* **Data Processing** + + Last but not the least, array manipulation - processing large stacks of arrays corresponding to various images, target tensors and keypoints is fairly challenging. + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Pose estimation variety and complexity' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## NumPy's Role in meeting Pose Estimation Challenges + +NumPy addresses DeepLabCut technology's core need of numerical computations at high speed for behavioural analytics. Besides NumPy, DeepLabCut employs various Python software that utilize NumPy at their core, such as [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) and [Tensorflow](https://www.tensorflow.org). + +The following features of NumPy played a key role in addressing the image processing, combinatorics requirements and need for fast computation in DeepLabCut pose estimation algorithms: + +* Vectorization +* Masked Array Operations +* Linear Algebra +* Random Sampling +* Reshaping of large arrays + +DeepLabCut utilizes NumPy’s array capabilities throughout the workflow offered by the toolkit. In particular, NumPy is used for sampling distinct frames for human annotation labeling, and for writing, editing and processing annotation data. Within TensorFlow the neural network is trained by DeepLabCut technology over thousands of iterations to predict the ground truth annotations from frames. For this purpose, target densities (scoremaps) are created to cast pose estimation as a image-to-image translation problem. To make the neural networks robust, data augmentation is employed, which requires the calculation of target scoremaps subject to various geometric and image processing steps. To make training fast, NumPy’s vectorization capabilities are leveraged. For inference, the most likely predictions from target scoremaps need to extracted and one needs to efficiently “link predictions to assemble individual animals”. + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut Workflow' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## Summary + +Observing and efficiently describing behavior is a core tenant of modern ethology, neuroscience, medicine, and technology. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior. With only a small set of training images, the DeepLabCut Python toolbox allows training a neural network to within human level labeling accuracy, thus expanding its application to not only behavior analysis in the laboratory, but to potentially also in sports, gait analysis, medicine and rehabilitation studies. Complex combinatorics, data processing challenges faced by DeepLabCut algorithms are addressed through the use of NumPy's array manipulation capabilities. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/fa/case-studies/gw-discov.md b/content/fa/case-studies/gw-discov.md new file mode 100644 index 0000000000..08f54b7547 --- /dev/null +++ b/content/fa/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "Case Study: Discovery of Gravitational Waves" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Gravitational Waves' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## About [Gravitational Waves](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) and [LIGO](https://www.ligo.caltech.edu) + +Gravitational waves are ripples in the fabric of space and time, generated by cataclysmic events in the universe such as collision and merging of two black holes or coalescing binary stars or supernovae. Observing GW can not only help in studying gravity but also in understanding some of the obscure phenomena in the distant universe and its impact. + +The [Laser Interferometer Gravitational-Wave Observatory (LIGO)](https://www.ligo.caltech.edu) was designed to open the field of gravitational-wave astrophysics through the direct detection of gravitational waves predicted by Einstein’s General Theory of Relativity. It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. Each of them has multi-kilometer-scale gravitational wave detectors that use laser interferometry. The LIGO Scientific Collaboration (LSC), is a group of more than 1000 scientists from universities around the United States and in 14 other countries supported by more than 90 universities and research institutes; approximately 250 students actively contributing to the collaboration. The new LIGO discovery is the first observation of gravitational waves themselves, made by measuring the tiny disturbances the waves make to space and time as they pass through the earth. It has opened up new astrophysical frontiers that explore the warped side of the universe—objects and phenomena that are made from warped spacetime. + + +### Key Objectives + +* Though its [mission](https://www.ligo.caltech.edu/page/what-is-ligo) is to detect gravitational waves from some of the most violent and energetic processes in the Universe, the data LIGO collects may have far-reaching effects on many areas of physics including gravitation, relativity, astrophysics, cosmology, particle physics, and nuclear physics. +* Crunch observed data via numerical relativity computations that involves complex maths in order to discern signal from noise, filter out relevant signal and statistically estimate significance of observed data +* Data visualization so that the binary / numerical results can be comprehended. + + + +### The Challenges + +* **Computation** + + Gravitational Waves are hard to detect as they produce a very small effect and have tiny interaction with matter. Processing and analyzing all of LIGO's data requires a vast computing infrastructure.After taking care of noise, which is billions of times of the signal, there is still very complex relativity equations and huge amounts of data which present a computational challenge: [O(10^7) CPU hrs needed for binary merger analyses](https://youtu.be/7mcHknWWzNI) spread on 6 dedicated LIGO clusters + +* **Data Deluge** + + As observational devices become more sensitive and reliable, the challenges posed by data deluge and finding a needle in a haystack rise multi-fold. LIGO generates terabytes of data every day! Making sense of this data requires an enormous effort for each and every detection. For example, the signals being collected by LIGO must be matched by supercomputers against hundreds of thousands of templates of possible gravitational-wave signatures. + +* **Visualization** + + Once the obstacles related to understanding Einstein’s equations well enough to solve them using supercomputers are taken care of, the next big challenge was making data comprehensible to the human brain. Simulation modeling as well as signal detection requires effective visualization techniques. Visualization also plays a role in lending more credibility to numerical relativity in the eyes of pure science aficionados, who did not give enough importance to numerical relativity until imaging and simulations made it easier to comprehend results for a larger audience. Speed of complex computations and rendering, re-rendering images and simulations using latest experimental inputs and insights can be a time consuming activity that challenges researchers in this domain. + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Estimated gravitational-wave strain amplitude from GW150914' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## NumPy’s Role in the Detection of Gravitational Waves + +Gravitational waves emitted from the merger cannot be computed using any technique except brute force numerical relativity using supercomputers. The amount of data LIGO collects is as incomprehensibly large as gravitational wave signals are small. + +NumPy, the standard numerical analysis package for Python, was utilized by the software used for various tasks performed during the GW detection project at LIGO. NumPy helped in solving complex maths and data manipulation at high speed. Here are some examples: + +* [Signal Processing](https://www.uv.es/virgogroup/Denoising_ROF.html): Glitch detection, [Noise identification and Data Characterization](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* Data retrieval: Deciding which data can be analyzed, figuring out whether it contains a signal - needle in a haystack +* Statistical analysis: estimate the statistical significance of observational data, estimating the signal parameters (e.g. masses of stars, spin velocity, and distance) by comparison with a model. +* Visualization of data + - Time series + - Spectrograms +* Compute Correlations +* Key [Software](https://github.com/lscsoft) developed in GW data analysis such as [GwPy](https://gwpy.github.io/docs/stable/overview.html) and [PyCBC](https://pycbc.org) uses NumPy and AstroPy under the hood for providing object based interfaces to utilities, tools, and methods for studying data from gravitational-wave detectors. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Dependency graph showing how GwPy package depends on NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Dependency graph showing how PyCBC package depends on NumPy' +{{< /figure >}} + +## Summary + +GW detection has enabled researchers to discover entirely unexpected phenomena while providing new insight into many of the most profound astrophysical phenomena known. Number crunching and data visualization is a crucial step that helps scientists gain insights into data gathered from the scientific observations and understand the results. The computations are complex and cannot be comprehended by humans unless it is visualized using computer simulations that are fed with the real observed data and analysis. NumPy along with other Python packages such as matplotlib, pandas, and scikit-learn is [enabling researchers](https://www.gw-openscience.org/events/GW150914/) to answer complex questions and discover new horizons in our understanding of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/fa/citing-numpy.md b/content/fa/citing-numpy.md new file mode 100644 index 0000000000..5bb5d791b4 --- /dev/null +++ b/content/fa/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: Citing NumPy +sidebar: false +--- + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing the following paper: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_In BibTeX format:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/fa/code-of-conduct.md b/content/fa/code-of-conduct.md new file mode 100644 index 0000000000..5ee1f4bcbe --- /dev/null +++ b/content/fa/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy Code of Conduct +sidebar: false +aliases: + - /conduct.html +--- + +### Introduction + +This Code of Conduct applies to all spaces managed by the NumPy project, including all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our community. The NumPy project does not organise in-person events, however events related to our community should have a code of conduct similar in spirit to this one. + +This Code of Conduct should be honored by everyone who participates in the NumPy community formally or informally, or claims any affiliation with the project, in any project-related activities and especially when representing the project, in any role. + +This code is not exhaustive or complete. It serves to distill our common understanding of a collaborative, shared environment and goals. Please try to follow this code in spirit as much as in letter, to create a friendly and productive environment that enriches the surrounding community. + +### Specific Guidelines + +We strive to: + +1. Be open. We invite anyone to participate in our community. We prefer to use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also ensures that any inadvertent mistakes in answering are more easily detected and corrected. +2. Be empathetic, welcoming, friendly, and patient. We work together to resolve conflict, and assume good intentions. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. +3. Be collaborative. Our work will be used by other people, and in turn we will depend on the work of others. When we make something for the benefit of the project, we are willing to explain to others how it works, so that they can build on the work to make it even better. Any decision we make will affect users and colleagues, and we take those consequences seriously when making decisions. +4. Be inquisitive. Nobody knows everything! Asking questions early avoids many problems later, so we encourage questions, although we may direct them to the appropriate forum. We will try hard to be responsive and helpful. +5. Be careful in the words that we choose. We are careful and respectful in our communication, and we take responsibility for our own speech. Be kind to others. Do not insult or put down other participants. We will not accept harassment or other exclusionary behaviour, such as: + * Violent threats or language directed against another person. + * Sexist, racist, or otherwise discriminatory jokes and language. + * Posting sexually explicit or violent material. + * Posting (or threatening to post) other people’s personally identifying information (“doxing”). + * Sharing private content, such as emails sent privately or non-publicly, or unlogged forums such as IRC channel history, without the sender’s consent. + * Personal insults, especially those using racist or sexist terms. + * Unwelcome sexual attention. + * Excessive profanity. Please avoid swearwords; people differ greatly in their sensitivity to swearing. + * Repeated harassment of others. In general, if someone asks you to stop, then stop. + * Advocating for, or encouraging, any of the above behaviour. + +### Diversity Statement + +The NumPy project welcomes and encourages participation by everyone. We are committed to being a community that everyone enjoys being part of. Although we may not always be able to accommodate each individual’s preferences, we try our best to treat everyone kindly. + +No matter how you identify yourself or how others perceive you: we welcome you. Though no list can hope to be comprehensive, we explicitly honour diversity in: age, culture, ethnicity, genotype, gender identity or expression, language, national origin, neurotype, phenotype, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, subculture and technical ability, to the extent that these do not conflict with this code of conduct. + +Though we welcome people fluent in all languages, NumPy development is conducted in English. + +Standards for behaviour in the NumPy community are detailed in the Code of Conduct above. Participants in our community should uphold these standards in all their interactions and help others to do so as well (see next section). + +### Reporting Guidelines + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We also recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this Code of Conduct. Please keep this in mind when deciding on how to respond to a breach of this Code. + +For clearly intentional breaches, report those to the Code of Conduct Committee (see below). For possibly unintentional breaches, you may reply to the person and point out this code of conduct (either in public or in private, whatever is most appropriate). If you would prefer not to do that, please feel free to report to the Code of Conduct Committee directly, or ask the Committee for advice, in confidence. + +You can report issues to the NumPy Code of Conduct Committee at numpy-conduct@googlegroups.com. + +Currently, the Committee consists of: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +If your report involves any members of the Committee, or if they feel they have a conflict of interest in handling it, then they will recuse themselves from considering your report. Alternatively, if for any reason you feel uncomfortable making a report to the Committee, then you can also contact senior NumFOCUS staff at [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### Incident reporting resolution & Code of Conduct enforcement + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](report-handling-manual). + +We will investigate and respond to all complaints. The NumPy Code of Conduct Committee and the NumPy Steering Committee (if involved) will protect the identity of the reporter, and treat the content of complaints as confidential (unless the reporter agrees otherwise). + +In case of severe and obvious breaches, e.g. personal threat or violent, sexist or racist language, we will immediately disconnect the originator from NumPy communication channels; please see the manual for details. + +In cases not involving clear severe and obvious breaches of this Code of Conduct the process for acting on any received Code of Conduct violation report will be: + +1. acknowledge report is received, +2. reasonable discussion/feedback, +3. mediation (if feedback didn’t help, and only if both reporter and reportee agree to this), +4. enforcement via transparent decision (see [Resolutions](report-handling-manual/#resolutions)) by the Code of Conduct Committee. + +The Committee will respond to any report as soon as possible, and at most within 72 hours. + +### Endnotes + +We are thankful to the groups behind the following documents, from which we drew content and inspiration: + +- [The SciPy Code of Conduct](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/fa/community.md b/content/fa/community.md new file mode 100644 index 0000000000..5034fba239 --- /dev/null +++ b/content/fa/community.md @@ -0,0 +1,66 @@ +--- +title: Community +sidebar: false +--- + +NumPy is a community-driven open source project developed by a diverse group of [contributors](/teams/). The NumPy leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read the [NumPy Code of Conduct](/code-of-conduct) for guidance on how to interact with others in a way that makes the community thrive. + +We offer several communication channels to learn, share your knowledge and connect with others within the NumPy community. + + +## Participate online + +The following are ways to engage directly with the NumPy project and community. _Please note that we encourage users and community members to support each other for usage questions - see [Get Help](/gethelp)._ + + +### [NumPy mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) + +This list is the main forum for longer-form discussions, like adding new features to NumPy, making changes to the NumPy Roadmap, and all kinds of project-wide decision making. Announcements about NumPy, such as for releases, developer meetings, sprints or conference talks are also made on this list. + +On this list please use bottom posting, reply to the list (rather than to another sender), and don't reply to digests. A searchable archive of this list is available [here](https://mail.python.org/archives/list/numpy-discussion@python.org/). + +*** + +### [GitHub issue tracker](https://github.com/numpy/numpy/issues) + +- For bug reports (e.g. "`np.arange(3).shape` returns `(5,)`, when it should return `(3,)`"); +- documentation issues (e.g. "I found this section unclear"); +- and feature requests (e.g. "I would like to have a new interpolation method in `np.percentile`"). + +_Please note that GitHub is not the right place to report a security vulnerability. If you think you have found a security vulnerability in NumPy, please report it [here](https://tidelift.com/docs/security)._ + +*** + +### [Slack](https://numpy-team.slack.com) + +A real-time chat room to ask questions about _contributing_ to NumPy. This is a private space, specifically meant for people who are hesitant to bring up their questions or ideas on a large public mailing list or GitHub. Please see [here](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) for more details and how to get an invite. + + +## Study Groups and Meetups + +If you would like to find a local meetup or study group to learn more about NumPy and the wider ecosystem of Python packages for data science and scientific computing, we recommend exploring the [PyData meetups](https://www.meetup.com/pro/pydata/) (150+ meetups, 100,000+ members). + +NumPy also organizes in-person sprints for its team and interested contributors occasionally. These are typically planned several months in advance and will be announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) and [Twitter](https://twitter.com/numpy_team). + + +## Conferences + +The NumPy project doesn't organize its own conferences. The conferences that have traditionally been most popular with NumPy maintainers, contributors and users are the SciPy and PyData conference series: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (15-20 events a year spread over many countries) + +Many of these conferences include tutorial days that cover NumPy and/or sprints where you can learn how to contribute to NumPy or related open source projects. + + +## Join the NumPy community + +To thrive, the NumPy project needs your expertise and enthusiasm. Not a coder? Not a problem! There are many ways to contribute to NumPy. + +If you are interested in becoming a NumPy contributor (yay!) we recommend checking out our [Contribute](/contribute) page. + +Also, feel free to stop by and say hi at one of our community meetings. To keep track of them, check out our events calendar [here](https://scientific-python.org/calendars/). diff --git a/content/fa/config.yaml b/content/fa/config.yaml new file mode 100644 index 0000000000..694aba3175 --- /dev/null +++ b/content/fa/config.yaml @@ -0,0 +1,137 @@ +languageName: English +params: + description: Why NumPy? Powerful n-dimensional arrays. Numerical computing tools. Interoperable. Performant. Open source. + navbarlogo: + image: logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: The fundamental package for scientific computing with Python + #Button text + buttontext: "Latest release: NumPy 2.0. View all releases" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: placeholder + intro: + - + title: Try NumPy + text: Use the interactive shell to try NumPy in the browser + docslink: Don't forget to check out the docs. + casestudies: + title: CASE STUDIES + features: + - + title: First Image of a Black Hole + text: How NumPy, together with libraries like SciPy and Matplotlib that depend on NumPy, enabled the Event Horizon Telescope to produce the first ever image of a black hole + img: /images/content_images/case_studies/blackhole.png + alttext: First image of a black hole. It is an orange circle in a black background. + url: /case-studies/blackhole-image + - + title: Detection of Gravitational Waves + text: In 1916, Albert Einstein predicted gravitational waves; 100 years later their existence was confirmed by LIGO scientists using NumPy. + img: /images/content_images/case_studies/gravitional.png + alttext: Two orbs orbiting each other. They are displacing gravity around them. + url: /case-studies/gw-discov + - + title: Sports Analytics + text: Cricket Analytics is changing the game by improving player and team performance through statistical modelling and predictive analytics. NumPy enables many of these analyses. + img: /images/content_images/case_studies/sports.jpg + alttext: Cricket ball on green field. + url: /case-studies/cricket-analytics + - + title: Pose Estimation using deep learning + text: DeepLabCut uses NumPy for accelerating scientific studies that involve observing animal behavior for better understanding of motor control, across species and timescales. + img: /images/content_images/case_studies/deeplabcut.png + alttext: Cheetah pose analysis + url: /case-studies/deeplabcut-dnn + tabs: + title: ECOSYSTEM + section5: false + navbar: + - + title: Install + url: /install + - + title: Documentation + url: https://numpy.org/doc/stable + - + title: Learn + url: /learn + - + title: Community + url: /community + - + title: About Us + url: /about + - + title: News + url: /news + - + title: Contribute + url: /contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: Install + link: /install + - + text: Documentation + link: https://numpy.org/doc/stable + - + text: Learn + link: /learn + - + text: Citing Numpy + link: /citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /about + - + text: Community + link: /community + - + text: User surveys + link: /user-surveys + - + text: Contribute + link: /contribute + - + text: Code of conduct + link: /code-of-conduct + column3: + links: + - + text: Get help + link: /gethelp + - + text: Terms of use + link: /terms + - + text: Privacy + link: /privacy + - + text: Press kit + link: /press-kit diff --git a/content/fa/contribute.md b/content/fa/contribute.md new file mode 100644 index 0000000000..0826a76184 --- /dev/null +++ b/content/fa/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribute to NumPy +sidebar: false +--- + +The NumPy project welcomes your expertise and enthusiasm! Your choices aren't limited to programming, as you can see below there are many areas where we need **your** help. + +If you're unsure where to start or how your skills fit in, _reach out!_ You can ask on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) or [GitHub](http://github.com/numpy/numpy) (open an [issue](https://github.com/numpy/numpy/issues) or comment on a relevant issue). + +Those are our preferred channels (open source is open by nature), but if you prefer to talk privately, contact our community coordinators at or on [Slack](https://numpy-team.slack.com) (write for an invite). + +We also have a biweekly _community call_, details of which are announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion). You are very welcome to join. If you are new to contributing to open source, we also highly recommend reading [this guide](https://opensource.guide/how-to-contribute/). + +Our community aspires to treat everyone equally and to value all contributions. We have a [Code of Conduct](/code-of-conduct) to foster an open and welcoming environment. + +### Writing code + +Programmers, this [guide](https://numpy.org/devdocs/dev/index.html#development-process-summary) explains how to contribute to the NumPy codebase.
Check out also our [YouTube channel](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) for additional advice. + +### Reviewing pull requests +The project has more than 250 open pull requests -- meaning many potential improvements and many open-source contributors waiting for feedback. If you're a developer who knows NumPy, you can help even if you're not familiar with the codebase. You can: +* summarize a long-running discussion +* triage documentation PRs +* test proposed changes + +### Developing educational materials + +NumPy's [User Guide](https://numpy.org/devdocs) is undergoing rehabilitation. We're in need of new tutorials, how-to's, and deep-dive explanations, and the site needs restructuring. Opportunities aren't limited to writers. We'd also welcome worked examples, notebooks, and videos. [NEP 44 — Restructuring the NumPyDocumentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) lays out our ideas -- and you may have others. + +### Issue triaging + +The [NumPy issue tracker](https://github.com/numpy/numpy/issues) has a _lot_ of open issues. Some are no longer valid, some should be prioritized, and some would make good issues for new contributors. You can: + +* check if older bugs are still present +* find duplicate issues and link related ones +* add good self-contained reproducers to issues +* label issues correctly (this requires triage rights -- just ask) + +Please just dive in. + +### Website development + +We've just revamped our website, but we're far from done. If you love web development, these [issues](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) list some of our unmet needs -- and feel free to share your own ideas. + +### Graphic design + +We can barely begin to list the contributions a graphic designer can make here. Our docs are parched for illustration; our growing website craves images -- opportunities abound. + +### Translating website content + +We plan multiple translations of [numpy.org](https://numpy.org) to make NumPy accessible to users in their native language. Volunteer translators are at the heart of this effort. See [here](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) for background; comment on [this GitHub issue](https://github.com/numpy/numpy.org/issues/55) to sign up. + +### Community coordination and outreach + +Through community contact we share our work more widely and learn where we're falling short. We're eager to get more people involved in efforts like our [Twitter](https://twitter.com/numpy_team) account, organizing NumPy [code sprints](https://scisprints.github.io/), a newsletter, and perhaps a blog. + +### Fundraising + +For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. [This SciPy'19 talk](https://www.youtube.com/watch?v=dBTJD_FDVjU) explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here -- we'd appreciate your help. + +### Donate + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/fa/gethelp.md b/content/fa/gethelp.md new file mode 100644 index 0000000000..da3bff67a5 --- /dev/null +++ b/content/fa/gethelp.md @@ -0,0 +1,20 @@ +--- +title: Get Help +sidebar: false +--- + +**Development issues:** For NumPy development-related matters (e.g., bug reports), please see [Community](/community). + +**User questions:** The best way to get help is to post your question to a site like [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) or [Reddit](https://www.reddit.com/r/Numpy/). We wish we could keep an eye on these sites, or answer questions directly, but the volume is a little overwhelming! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +A forum for asking usage questions, e.g. "How do I do X in NumPy?”. Please [use the `#numpy` tag](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +Another forum for usage questions. + +*** diff --git a/content/fa/history.md b/content/fa/history.md new file mode 100644 index 0000000000..aa669d375b --- /dev/null +++ b/content/fa/history.md @@ -0,0 +1,21 @@ +--- +title: History of NumPy +sidebar: false +--- + +NumPy is a foundational Python library that provides array data structures and related fast numerical routines. When started, the library had little funding, and was written mainly by graduate students—many of them without computer science education, and often without a blessing of their advisors. To even imagine that a small group of “rogue” student programmers could upend the already well-established ecosystem of research software—backed by millions in funding and many hundreds of highly qualified engineers — was preposterous. Yet, the philosophical motivations behind a fully open tool stack, in combination with the excited, friendly community with a singular focus, have proven auspicious in the long run. Nowadays, NumPy is relied upon by scientists, engineers, and many other professionals around the world. For example, the published scripts used in the analysis of gravitational waves import NumPy, and the M87 black hole imaging project directly cites NumPy. + +For the in-depth account on milestones in the development of NumPy and related libraries please see [arxiv.org](https://arxiv.org/abs/1907.10121). + +If you’d like to obtain a copy of the original Numeric and Numarray libraries, follow the links below: + +[Download Page for *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[Download Page for *Numarray*](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*Please note that these older array packages are no longer maintained, and users are strongly advised to use NumPy for any array-related purposes or refactor any pre-existing code to utilize the NumPy library. + +### Historic Documentation + +[Download *`Numeric'* Manual](static/numeric-manual.pdf) + diff --git a/content/fa/install.md b/content/fa/install.md new file mode 100644 index 0000000000..33cb3d1184 --- /dev/null +++ b/content/fa/install.md @@ -0,0 +1,126 @@ +--- +title: Installing NumPy +sidebar: false +--- + +پایتون، تنها پیش‌نیاز برای نصب نامپای است. If you don't have Python yet and want the simplest way to get started, we recommend you use the [Anaconda Distribution](https://www.anaconda.com/download) - it includes Python, NumPy, and many other commonly used packages for scientific computing and data science. + +NumPy can be installed with `conda`, with `pip`, with a package manager on macOS and Linux, or [from source](https://numpy.org/devdocs/building). For more detailed instructions, consult our [Python and NumPy installation guide](#python-numpy-install-guide) below. + +**CONDA** + +If you use `conda`, you can install NumPy from the `defaults` or `conda-forge` channels: + +```bash +# Best practice, use an environment rather than install in the base env +conda create -n my-env +conda activate my-env +# If you want to install from conda-forge +conda config --env --add channels conda-forge +# The actual install command +conda install numpy +``` + +**PIP** + +If you use `pip`, you can install NumPy with: + +```bash +pip install numpy +``` +Also when using pip, it's good practice to use a virtual environment - see [Reproducible Installs](#reproducible-installs) below for why, and [this guide](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) for details on using virtual environments. + + + + +# Python and NumPy installation guide + +Installing and managing packages in Python is complicated, there are a number of alternative solutions for most tasks. This guide tries to give the reader a sense of the best (or most popular) solutions, and give clear recommendations. It focuses on users of Python, NumPy, and the PyData (or numerical computing) stack on common operating systems and hardware. + +## Recommendations + +We'll start with recommendations based on the user's experience level and operating system of interest. If you're in between "beginning" and "advanced", please go with "beginning" if you want to keep things simple, and with "advanced" if you want to work according to best practices that go a longer way in the future. + +### Beginning users + +On all of Windows, macOS, and Linux: + +- Install [Anaconda](https://www.anaconda.com/download) (it installs all packages you need and all other tools mentioned below). +- For writing and executing code, use notebooks in [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) for exploratory and interactive computing, and [Spyder](https://www.spyder-ide.org/) or [Visual Studio Code](https://code.visualstudio.com/) for writing scripts and packages. +- Use [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) to manage your packages and start JupyterLab, Spyder, or Visual Studio Code. + + +### Advanced users + +#### Conda + +- Install [Miniforge](https://github.com/conda-forge/miniforge). +- Keep the `base` conda environment minimal, and use one or more [conda environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) to install the package you need for the task or project you're working on. + +#### Alternative if you prefer pip/PyPI + +For users who know, from personal preference or reading about the main differences between conda and pip below, they prefer a pip/PyPI-based solution, we recommend: +- Install Python from [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/), or your Linux package manager. +- Use [Poetry](https://python-poetry.org/) as the most well-maintained tool that provides a dependency resolver and environment management capabilities in a similar fashion as conda does. + + +## Python package management + +Managing packages is a challenging problem, and, as a result, there are lots of tools. For web and general purpose Python development there's a whole [host of tools](https://packaging.python.org/guides/tool-recommendations/) complementary with pip. For high-performance computing (HPC), [Spack](https://github.com/spack/spack) is worth considering. For most NumPy users though, [conda](https://conda.io/en/latest/) and [pip](https://pip.pypa.io/en/stable/) are the two most popular tools. + + +### Pip & conda + +The two main tools that install Python packages are `pip` and `conda`. Their functionality partially overlaps (e.g. both can install `numpy`), however, they can also work together. We'll discuss the major differences between pip and conda here - this is important to understand if you want to manage packages effectively. + +The first difference is that conda is cross-language and it can install Python, while pip is installed for a particular Python on your system and installs other packages to that same Python install only. This also means conda can install non-Python libraries and tools you may need (e.g. compilers, CUDA, HDF5), while pip can't. + +The second difference is that pip installs from the Python Packaging Index (PyPI), while conda installs from its own channels (typically "defaults" or "conda-forge"). PyPI is the largest collection of packages by far, however, all popular packages are available for conda as well. + +The third difference is that conda is an integrated solution for managing packages, dependencies and environments, while with pip you may need another tool (there are many!) for dealing with environments or complex dependencies. + + + +### Reproducible installs + +As libraries get updated, results from running your code can change, or your code can break completely. It's important to be able to reconstruct the set of packages and versions you're using. Best practice is to: + +1. use a different environment per project you're working on, +2. record package names and versions using your package installer; each has its own metadata format for this: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [virtual environments](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy packages & accelerated linear algebra libraries + +NumPy doesn't depend on any other Python packages, however, it does depend on an accelerated linear algebra library - typically [Intel MKL](https://software.intel.com/en-us/mkl) or [OpenBLAS](https://www.openblas.net/). Users don't have to worry about installing those (they're automatically included in all NumPy install methods). Power users may still want to know the details, because the used BLAS can affect performance, behavior and size on disk: + +- The NumPy wheels on PyPI, which is what pip installs, are built with OpenBLAS. The OpenBLAS libraries are included in the wheel. This makes the wheel larger, and if a user installs (for example) SciPy as well, they will now have two copies of OpenBLAS on disk. + +- In the conda defaults channel, NumPy is built against Intel MKL. MKL is a separate package that will be installed in the users' environment when they install NumPy. + +- In the conda-forge channel, NumPy is built against a dummy "BLAS" package. When a user installs NumPy from conda-forge, that BLAS package then gets installed together with the actual library - this defaults to OpenBLAS, but it can also be MKL (from the defaults channel), or even [BLIS](https://github.com/flame/blis) or reference BLAS. + +- The MKL package is a lot larger than OpenBLAS, it's about 700 MB on disk while OpenBLAS is about 30 MB. + +- MKL is typically a little faster and more robust than OpenBLAS. + +Besides install sizes, performance and robustness, there are two more things to consider: + +- Intel MKL is not open source. For normal use this is not a problem, but if a user needs to redistribute an application built with NumPy, this could be an issue. +- Both MKL and OpenBLAS will use multi-threading for function calls like `np.dot`, with the number of threads being determined by both a build-time option and an environment variable. Often all CPU cores will be used. This is sometimes unexpected for users; NumPy itself doesn't auto-parallelize any function calls. It typically yields better performance, but can also be harmful - for example when using another level of parallelization with Dask, scikit-learn or multiprocessing. + + +## Troubleshooting + +If your installation fails with the message below, see [Troubleshooting ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html). + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for +different reasons, often due to issues with your setup. +``` + diff --git a/content/fa/learn.md b/content/fa/learn.md new file mode 100644 index 0000000000..4f9fa53ae3 --- /dev/null +++ b/content/fa/learn.md @@ -0,0 +1,76 @@ +--- +title: Learn +sidebar: false +--- + +For the **official NumPy documentation** visit [numpy.org/doc/stable](https://numpy.org/doc/stable). + +*** + +Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community. + +## Beginners + +There's a ton of information about NumPy out there. If you are just starting, we'd strongly recommend the following: + + **Tutorials** + +* [NumPy Quickstart Tutorial](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). +* [NumPy Illustrated: The Visual Guide to NumPy *by Lev Maximov*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://lectures.scientific-python.org/) Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem. +* [NumPy: the absolute basics for beginners](https://numpy.org/devdocs/user/absolute_beginners.html) +* [NumPy tutorial *by Nicolas Rougier*](https://github.com/rougier/numpy-tutorial) +* [Stanford CS231 *by Justin Johnson*](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy User Guide](https://numpy.org/devdocs) + + **Books** + +* [Guide to NumPy *by Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) This is a free version 1 from 2006. For the latest copy (2015) see [here](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1144670472). +* [From Python to NumPy *by Nicolas P. Rougier*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [Elegant SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) *by Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow* + +You may also want to check out the [Goodreads list](https://www.goodreads.com/shelf/show/python-scipy) on the subject of "Python+SciPy." Most books there are about the "SciPy ecosystem," which has NumPy at its core. + + **Videos** + +* [Introduction to Numerical Computing with NumPy](http://youtu.be/ZB7BZMhfPgk) *by Alex Chabot-Leclerc* + +*** + +## Advanced + +Try these advanced resources for a better understanding of NumPy concepts like advanced indexing, splitting, stacking, linear algebra, and more. + + **Tutorials** + +* [100 NumPy Exercises](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) *by Nicolas P. Rougier* +* [An Introduction to NumPy and Scipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) *by M. Scott Shell* +* [Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) *by Stéfan van der Walt* +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). + + **Books** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1098121228) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X) *by Wes McKinney* +* [Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) *by Robert Johansson* + + **Videos** + +* [Advanced NumPy - broadcasting rules, strides, and advanced indexing](https://www.youtube.com/watch?v=cYugp9IN1-Q) *by Juan Nunez-Iglesias* + +*** + +## NumPy Talks + +* [The Future of NumPy Indexing](https://www.youtube.com/watch?v=o0EacbIbf58) *by Jaime Fernández* (2016) +* [Evolution of Array Computing in Python](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) *by Ralf Gommers* (2019) +* [NumPy: what has changed and what is going to change?](https://www.youtube.com/watch?v=YFLVQFjRmPY) *by Matti Picus* (2019) +* [Inside NumPy](https://www.youtube.com/watch?v=dBTJD_FDVjU) *by Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris* (2019) +* [Brief Review of Array Computing in Python](https://www.youtube.com/watch?v=f176j2g2eNc) *by Travis Oliphant* (2019) + +*** + +## Citing NumPy + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, please see [this citation information](/citing-numpy). diff --git a/content/fa/news.md b/content/fa/news.md new file mode 100644 index 0000000000..ef4ceee0dd --- /dev/null +++ b/content/fa/news.md @@ -0,0 +1,307 @@ +--- +title: News +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2024-08-18 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0.0 released + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 release date: June 16 + +_23 May, 2024_ -- We are excited to announce that NumPy 2.0 is planned to be released on June 16, 2024. This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains **breaking changes** to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy `2.0.0rc2`. **Please see the following for more details:** + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUS end of the year fundraiser +_Dec 19, 2023_ -- NumFOCUS has teamed up with PyCharm during their EOY campaign to offer a 30% discount on first-time PyCharm licenses. All year-one revenue from PyCharm purchases from now until December 23rd, 2023 will go directly to the NumFOCUS programs. + +Use unique URL that will allow to track purchases https://lp.jetbrains.com/support-data-science/ or a coupon code ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 released + +_Sep 16, 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) is now available. The highlights of the release are: + +* Python 3.12.0 support. +* Cython 3.0.0 compatibility. +* Use of the Meson build system +* Updated SIMD support +* f2py fixes, meson and bind(x) support +* Support for the updated Accelerate BLAS/LAPACK library + +The NumPy 1.26.0 release is a continuation of the 1.25.x series that marks the transition to the Meson build system and provision of support for Cython 3.0.0. A total of 20 people contributed to this release and 59 pull requests were merged. + +The Python versions supported by this release are 3.9-3.12. + +### numpy.org is now available in Japanese and Portuguese + +_Aug 2, 2023_ -- numpy.org is now available in 2 additional languages: Japanese and Portuguese. This wouldn’t be possible without our dedicated volunteers: + +_Portuguese:_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japanese:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +The work on the translation infrastructure is supported with funding from CZI. + +Looking ahead, we’d love to translate the website into more languages. If you’d like to help, please connect with the NumPy Translations Team on Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Look for the #translations channel.) We are also building a Translations Team who will be working on localizing documentation and educational content across the Scientific Python ecosystem. If this piqued your interest, join us on the Scientific Python Discord: https://discord.gg/khWtqY6RKr. (Look for the #translation channel.) + +### NumPy 1.25.0 released + +_Jun 17, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) is now available. The highlights of the release are: + +* Support for MUSL, there are now MUSL wheels. +* Support for the Fujitsu C/C++ compiler. +* Object arrays are now supported in einsum. +* Support for the inplace matrix multiplication (`@=`). + +The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been preparatory work for the future NumPy 2.0.0, resulting in a large number of new and expired deprecations. + +A total of 148 people contributed to this release and 530 pull requests were merged. + +The Python versions supported by this release are 3.9-3.11. + +### Fostering an Inclusive Culture: Call for Participation + +_May 10, 2023_ -- Fostering an Inclusive Culture: Call for Participation + +How can we be better when it comes to diversity and inclusion? Read the report and find out how to get involved [here](https://contributor-experience.org/docs/posts/dei-report/). + +### NumPy documentation team leadership transition + +_Jan 6, 2023_ –- Mukulika Pahari and Ross Barnowski are appointed as the new NumPy documentation team leads replacing Melissa Mendonça. We thank Melissa for all her contributions to the NumPy official documentation and educational materials, and Mukulika and Ross for stepping up. + +### NumPy 1.24.0 released + +_Dec 18, 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) is now available. The highlights of the release are: + +* New "dtype" and "casting" keywords for stacking functions. +* New F2PY features and fixes. +* Many new deprecations, check them out. +* Many expired deprecations, + +The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase execution speed, and clarify the documentation. There are a large number of new and expired deprecations due to changes in dtype promotion and cleanups. It is the work of 177 contributors spread over 444 pull requests. The supported Python versions are 3.8-3.11. + +### Numpy 1.23.0 released + +_Jun 22, 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) is now available. The highlights of the release are: + +* Implementation of `loadtxt` in C, greatly improving its performance. +* Exposure of DLPack at the Python level for easy data exchange. +* Changes to the promotion and comparisons of structured dtypes. +* Improvements to f2py. + +The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. It is the work of 151 contributors spread over 494 pull requests. The Python versions supported by this release 3.8-3.10. Python 3.11 will be supported when it reaches the rc stage. + +### NumFOCUS DEI research study: call for participation + +_Apr 13, 2022_ -- NumPy is working with [NumFOCUS](http://numfocus.org/) on a [research project](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) funded by the [Gordon & Betty Moore Foundation](https://www.moore.org/) to understand the barriers to participation that contributors, particularly those from historically underrepresented groups, face in the open-source software community. The research team would like to talk to new contributors, project developers and maintainers, and those who have contributed in the past about their experiences joining and contributing to NumPy. + +**Interested in sharing your experiences?** + +Please complete this brief [“Participant Interest” form](https://numfocus.typeform.com/to/WBWVJSqe) which contains additional information on the research goals, privacy, and confidentiality considerations. Your participation will be valuable to the growth and sustainability of diverse and inclusive open-source software communities. Accepted participants will participate in a 30-minute interview with a research team member. + +### Numpy 1.22.0 release + +_Dec 31, 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) is now available. The highlights of the release are: + +* Type annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release. +* A preliminary version of the proposed [array API Standard](https://data-apis.org/array-api/latest/) is provided (see [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). This is a step in creating a standard collection of functions that can be used across libraries such as CuPy and JAX. +* NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data. +* New methods for `quantile`, `percentile`, and related functions. The new methods provide a complete set of the methods commonly found in the literature. +* The universal functions have been refactored to implement most of [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html). This also unlocks the ability to experiment with the future DType API. +* A new configurable memory allocator for use by downstream projects. + +NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. The Python versions supported by this release are 3.8-3.10. + +### Advancing an inclusive culture in the scientific Python ecosystem + +_August 31, 2021_ -- We are happy to announce the Chan Zuckerberg Initiative has [awarded a grant](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) to support the onboarding, inclusion, and retention of people from historically marginalized groups on scientific Python projects, and to structurally improve the community dynamics for NumPy, SciPy, Matplotlib, and Pandas. + +As a part of [CZI's Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/), this [Diversity & Inclusion supplemental grant](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) will support the creation of dedicated Contributor Experience Lead positions to identify, document, and implement practices to foster inclusive open-source communities. This project will be led by Melissa Mendonça (NumPy), with additional mentorship and guidance provided by Ralf Gommers (NumPy, SciPy), Hannah Aizenman and Thomas Caswell (Matplotlib), Matt Haberland (SciPy), and Joris Van den Bossche (Pandas). + +This is an ambitious project aiming to discover and implement activities that should structurally improve the community dynamics of our projects. By establishing these new cross-project roles, we hope to introduce a new collaboration model to the Scientific Python communities, allowing community-building work within the ecosystem to be done more efficiently and with greater outcomes. We also expect to develop a clearer picture of what works and what doesn't in our projects to engage and retain new contributors, especially from historically underrepresented groups. Finally, we plan on producing detailed reports on the actions executed, explaining how they have impacted our projects in terms of representation and interaction with our communities. + +The two-year project is expected to start by November 2021, and we are excited to see the results from this work! [You can read the full proposal here](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### 2021 NumPy survey + +_July 12, 2021_ -- At NumPy, we believe in the power of our community. 1,236 NumPy users from 75 countries participated in our inaugural survey last year. The survey findings gave us a very good understanding of what we should focus on for the next 12 months. + +It’s time for another survey, and we are counting on you once again. It will take about 15 minutes of your time. Besides English, the survey questionnaire is available in 8 additional languages: Bangla, French, Hindi, Japanese, Mandarin, Portuguese, Russian, and Spanish. + +Follow the link to get started: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Numpy 1.21.0 release + +_Jun 23, 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) is now available. The highlights of the release are: + +- continued SIMD work covering more functions and platforms, +- initial work on the new dtype infrastructure and casting, +- universal2 wheels for Python 3.8 and Python 3.9 on Mac, +- improved documentation, +- improved annotations, +- new `PCG64DXSM` bitgenerator for random numbers. + +This NumPy release is the result of 581 merged pull requests contributed by 175 people. The Python versions supported for this release are 3.7-3.9, support for Python 3.10 will be added after Python 3.10 is released. + + +### 2020 NumPy survey results + +_Jun 22, 2021_ -- In 2020, the NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results here: https://numpy.org/user-survey-2020/. + + +### Numpy 1.20.0 release + +_Jan 30, 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) is now available. This is the largest NumPy release to date, thanks to 180+ contributors. The two most exciting new features are: +- Type annotations for large parts of NumPy, and a new `numpy.typing` submodule containing `ArrayLike` and `DtypeLike` aliases that users and downstream libraries can use when adding type annotations in their own code. +- Multi-platform SIMD compiler optimizations, with support for x86 (SSE, AVX), ARM64 (Neon), and PowerPC (VSX) instructions. This yielded significant performance improvements for many functions (examples: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversity in the NumPy project + +_Sep 20, 2020_ -- We wrote a [statement on the state of, and discussion on social media around, diversity and inclusion in the NumPy project](/diversity_sep2020). + + +### First official NumPy paper published in Nature! + +_Sep 16, 2020_ -- We are pleased to announce the publication of [the first official paper on NumPy](https://www.nature.com/articles/s41586-020-2649-2) as a review article in Nature. This comes 14 years after the release of NumPy 1.0. The paper covers applications and fundamental concepts of array programming, the rich scientific Python ecosystem built on top of NumPy, and the recently added array protocols to facilitate interoperability with external array and tensor libraries like CuPy, Dask, and JAX. + + +### Python 3.9 is coming, when will NumPy release binary wheels? + +_Sept 14, 2020_ -- Python 3.9 will be released in a few weeks. If you are an early adopter of Python versions, you may be dissapointed to find that NumPy (and other binary packages like SciPy) will not have binary wheels ready on the day of the release. It is a major effort to adapt the build infrastructure to a new Python version and it typically takes a few weeks for the packages to appear on PyPI and conda-forge. In preparation for this event, please make sure to +- update your `pip` to version 20.1 at least to support `manylinux2010` and `manylinux2014` +- use [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) or `--only-binary=:all:` to prevent `pip` from trying to build from source. + + +### Numpy 1.19.2 release + +_Sep 10, 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) is now available. This latest release in the 1.19 series fixes several bugs, prepares for the [upcoming Cython 3.x release](http://docs.cython.org/en/latest/src/changes.html) and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros. + +### The inaugural NumPy survey is live! + +_Jul 2, 2020_ -- This survey is meant to guide and set priorities for decision-making about the development of NumPy as software and as a community. The survey is available in 8 additional languages besides English: Bangla, Hindi, Japanese, Mandarin, Portuguese, Russian, Spanish and French. + +Please help us make NumPy better and take the survey [here](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy has a new logo! + +_Jun 24, 2020_ -- NumPy now has a new logo: + +NumPy logo + +The logo is a modern take on the old one, with a cleaner design. Thanks to Isabela Presedo-Floyd for designing the new logo, as well as to Travis Vaught for the old logo that served us well for 15+ years. + + +### NumPy 1.19.0 release + +_Jun 20, 2020_ -- NumPy 1.19.0 is now available. This is the first release without Python 2 support, hence it was a "clean-up release". The minimum supported Python version is now Python 3.6. An important new feature is that the random number generation infrastructure that was introduced in NumPy 1.17.0 is now accessible from Cython. + + +### Season of Docs acceptance + +_May 11, 2020_ -- NumPy has been accepted as one of the mentor organizations for the Google Season of Docs program. We are excited about the opportunity to work with a technical writer to improve NumPy's documentation once again! For more details, please see [the official Season of Docs site](https://developers.google.com/season-of-docs/) and our [ideas page](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### NumPy 1.18.0 release + +_Dec 22, 2019_ -- NumPy 1.18.0 is now available. After the major changes in 1.17.0, this is a consolidation release. It is the last minor release that will support Python 3.5. Highlights of the release includes the addition of basic infrastructure for linking with 64-bit BLAS and LAPACK libraries, and a new C-API for `numpy.random`. + +Please see the [release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0) for more details. + + +### NumPy receives a grant from the Chan Zuckerberg Initiative + +_Nov 15, 2019_ -- We are pleased to announce that NumPy and OpenBLAS, one of NumPy's key dependencies, have received a joint grant for $195,000 from the Chan Zuckerberg Initiative through their [Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/) that supports software maintenance, growth, development, and community engagement for open source tools critical to science. + +This grant will be used to ramp up the efforts in improving NumPy documentation, website redesign, and community development to better serve our large and rapidly growing user base, and ensure the long-term sustainability of the project. While the OpenBLAS team will focus on addressing sets of key technical issues, in particular thread-safety, AVX-512, and thread-local storage (TLS) issues, as well as algorithmic improvements in ReLAPACK (Recursive LAPACK) on which OpenBLAS depends. + +More details on our proposed initiatives and deliverables can be found in the [full grant proposal](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). The work is scheduled to start on Dec 1st, 2019 and continue for the next 12 months. + + + + +## Releases + +Here is a list of NumPy releases, with links to release notes. Bugfix releases (only the `z` changes in the `x.y.z` version number) have no new features; minor releases (the `y` increases) do. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 Feb 2024_. +- NumPy 1.26.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 Jan 2024_. +- NumPy 1.26.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 Nov 2023_. +- NumPy 1.26.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 Oct 2023_. +- NumPy 1.26.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 Sep 2023_. +- NumPy 1.25.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 Jul 2023_. +- NumPy 1.25.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 Jul 2023_. +- NumPy 1.24.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 Jun 2023_. +- NumPy 1.25.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 Jun 2023_. +- NumPy 1.24.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 Apr 2023_. +- NumPy 1.24.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 Feb 2023_. +- NumPy 1.24.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 Dec 2022_. +- NumPy 1.24.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 Dec 2022_. +- NumPy 1.23.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _19 Nov 2022_. +- NumPy 1.23.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 Oct 2022_. +- NumPy 1.23.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 Sep 2022_. +- NumPy 1.23.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 Aug 2022_. +- NumPy 1.23.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 Jul 2022_. +- NumPy 1.23.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 Jun 2022_. +- NumPy 1.22.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 May 2022_. +- NumPy 1.21.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 Apr 2022_. +- NumPy 1.22.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 Mar 2022_. +- NumPy 1.22.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 Feb 2022_. +- NumPy 1.22.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 Jan 2022_. +- NumPy 1.22.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _31 Dec 2021_. +- NumPy 1.21.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _19 Dec 2021_. +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 Jun 2021_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 May 2021_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 Jan 2021_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 Jan 2021_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 Jun 2020_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 May 2020_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 Jan 2020_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 Dec 2019_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 Jul 2019_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 Jul 2018_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 Jan 2018_. diff --git a/content/fa/press-kit.md b/content/fa/press-kit.md new file mode 100644 index 0000000000..2c8970bb29 --- /dev/null +++ b/content/fa/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press kit +sidebar: false +--- + +We would like to make it easy for you to include the NumPy project identity in your next academic paper, course materials, or presentation. + +You will find several high-resolution versions of the NumPy logo [here](https://github.com/numpy/numpy/tree/main/branding/logo). Note that by using the numpy.org resources, you accept the [NumPy Code of Conduct](/code-of-conduct). diff --git a/content/fa/privacy.md b/content/fa/privacy.md new file mode 100644 index 0000000000..6064e4c4f1 --- /dev/null +++ b/content/fa/privacy.md @@ -0,0 +1,8 @@ +--- +title: Privacy Policy +sidebar: false +--- + +**numpy.org** is operated by [NumFOCUS, Inc.](https://numfocus.org), the fiscal sponsor of the NumPy project. For the Privacy Policy of this website please refer to https://numfocus.org/privacy-policy. + +If you have any questions about the policy or NumFOCUS’s data collection, use, and disclosure practices, please contact the NumFOCUS staff at privacy@numfocus.org. diff --git a/content/fa/report-handling-manual.md b/content/fa/report-handling-manual.md new file mode 100644 index 0000000000..5586668cba --- /dev/null +++ b/content/fa/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: NumPy Code of Conduct - How to follow up on a report +sidebar: false +--- + +This is the manual followed by NumPy’s Code of Conduct Committee. It’s used when we respond to an issue to make sure we’re consistent and fair. + +Enforcing the [Code of Conduct](/code-of-conduct) impacts our community today and for the future. It’s an action that we do not take lightly. When reviewing enforcement measures, the Code of Conduct Committee will keep the following values and guidelines in mind: + +* Act in a personal manner rather than impersonal. The Committee can engage the parties to understand the situation while respecting the privacy and any necessary confidentiality of reporters. However, sometimes it is necessary to communicate with one or more individuals directly: the Committee’s goal is to improve the health of our community rather than only produce a formal decision. +* Emphasize empathy for individuals rather than judging behavior, avoiding binary labels of “good” and “bad/evil”. Overt, clear-cut aggression and harassment exist, and we will address them firmly. But many scenarios that can prove challenging to resolve are those where normal disagreements devolve into unhelpful or harmful behavior from multiple parties. Understanding the full context and finding a path that re-engages all is hard, but ultimately the most productive for our community. +* We understand that email is a difficult medium and can be isolating. Receiving criticism over email, without personal contact, can be particularly painful. This makes it especially important to keep an atmosphere of open-minded respect for the views of others. It also means that we must be transparent in our actions, and that we will do everything in our power to make sure that all our members are treated fairly and with sympathy. +* Discrimination can be subtle and it can be unconscious. It can show itself as unfairness and hostility in otherwise ordinary interactions. We know that this does occur, and we will take care to look out for it. We would very much like to hear from you if you feel you have been treated unfairly, and we will use these procedures to make sure that your complaint is heard and addressed. +* Help increase engagement in good discussion practice: try to identify where discussion may have broken down, and provide actionable information, pointers, and resources that can lead to positive change on these points. +* Be mindful of the needs of new members: provide them with explicit support and consideration, with the aim of increasing participation from underrepresented groups in particular. +* Individuals come from different cultural backgrounds and native languages. Try to identify any honest misunderstandings caused by a non-native speaker and help them understand the issue and what they can change to avoid causing offence. Complex discussion in a foreign language can be very intimidating, and we want to grow our diversity also across nationalities and cultures. + + +## Mediation + +Voluntary informal mediation is a tool at our disposal. In contexts such as when two or more parties have all escalated to the point of inappropriate behavior (something sadly common in human conflict), it may be useful to facilitate a mediation process. This is only an example: the Committee can consider mediation in any case, mindful that the process is meant to be strictly voluntary and no party can be pressured to participate. If the Committee suggests mediation, it should: + +* Find a candidate who can serve as a mediator. +* Obtain the agreement of the reporter(s). The reporter(s) have complete freedom to decline the mediation idea or to propose an alternate mediator. +* Obtain the agreement of the reported person(s). +* Settle on the mediator: while parties can propose a different mediator than the suggested candidate, only if a common agreement is reached on all terms can the process move forward. +* Establish a timeline for mediation to complete, ideally within two weeks. + +The mediator will engage with all the parties and seek a resolution that is satisfactory to all. Upon completion, the mediator will provide a report (vetted by all parties to the process) to the Committee, with recommendations on further steps. The Committee will then evaluate these results (whether a satisfactory resolution was achieved or not) and decide on any additional action deemed necessary. + + +## How the Committee will respond to reports + +When the Committee (or a Committee member) receives a report, they will first determine whether the report is about a clear and severe breach (as defined below). If so, immediate action needs to be taken in addition to the regular report handling process. + + +## Clear and severe breach actions + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We will deal quickly with clear and severe breaches like personal threats, violent, sexist or racist language. + +When a member of the Code of Conduct Committee becomes aware of a clear and severe breach, they will do the following: + +* Immediately disconnect the originator from all NumPy communication channels. +* Reply to the reporter that their report has been received and that the originator has been disconnected. +* In every case, the moderator should make a reasonable effort to contact the originator, and tell them specifically how their language or actions qualify as a “clear and severe breach”. The moderator should also say that, if the originator believes this is unfair or they want to be reconnected to NumPy, they have the right to ask for a review, as below, by the Code of Conduct Committee. The moderator should copy this explanation to the Code of Conduct Committee. +* The Code of Conduct Committee will formally review and sign off on all cases where this mechanism has been applied to make sure it is not being used to control ordinary heated disagreement. + + +## Report handling + +When a report is sent to the Committee they will immediately reply to the reporter to confirm receipt. This reply must be sent within 72 hours, and the group should strive to respond much quicker than that. + +If a report doesn’t contain enough information, the Committee will obtain all relevant data before acting. The Committee is empowered to act on the Steering Council’s behalf in contacting any individuals involved to get a more complete account of events. + +The Committee will then review the incident and determine, to the best of their ability: + +* What happened. +* Whether this event constitutes a Code of Conduct violation. +* Who are the responsible party(ies). +* Whether this is an ongoing situation, and there is a threat to anyone’s physical safety. + +This information will be collected in writing, and whenever possible the group’s deliberations will be recorded and retained (i.e. chat transcripts, email discussions, recorded conference calls, summaries of voice conversations, etc). + +It is important to retain an archive of all activities of this Committee to ensure consistency in behavior and provide institutional memory for the project. To assist in this, the default channel of discussion for this Committee will be a private mailing list accessible to current and future members of the Committee as well as members of the Steering Council upon justified request. If the Committee finds the need to use off-list communications (e.g. phone calls for early/rapid response), it should in all cases summarize these back to the list so there’s a good record of the process. + +The Code of Conduct Committee should aim to have a resolution agreed upon within two weeks. In the event that a resolution can’t be determined in that time, the Committee will respond to the reporter(s) with an update and projected timeline for resolution. + + +## Resolutions + +The Committee must agree on a resolution by consensus. If the group cannot reach consensus and deadlocks for over a week, the group will turn the matter over to the Steering Council for resolution. + +Possible responses may include: + +* Taking no further action: + - if we determine no violations have occurred; + - if the matter has been resolved publicly while the Committee was considering responses. +* Coordinating voluntary mediation: if all involved parties agree, the Committee may facilitate a mediation process as detailed above. +* Remind publicly, and point out that some behavior/actions/language have been judged inappropriate and why in the current context, or can but hurtful to some people, requesting the community to self-adjust. +* A private reprimand from the Committee to the individual(s) involved. In this case, the group chair will deliver that reprimand to the individual(s) over email, cc’ing the group. +* A public reprimand. In this case, the Committee chair will deliver that reprimand in the same venue that the violation occurred, within the limits of practicality. E.g., the original mailing list for an email violation, but for a chat room discussion where the person/context may be gone, they can be reached by other means. The group may choose to publish this message elsewhere for documentation purposes. +* A request for a public or private apology, assuming the reporter agrees to this idea: they may at their discretion refuse further contact with the violator. The chair will deliver this request. The Committee may, if it chooses, attach “strings” to this request: for example, the group may ask a violator to apologize in order to retain one’s membership on a mailing list. +* A “mutually agreed upon hiatus” where the Committee asks the individual to temporarily refrain from community participation. If the individual chooses not to take a temporary break voluntarily, the Committee may issue a “mandatory cooling off period”. +* A permanent or temporary ban from some or all NumPy spaces (mailing lists, gitter.im, etc.). The group will maintain records of all such bans so that they may be reviewed in the future or otherwise maintained. + +Once a resolution is agreed upon, but before it is enacted, the Committee will contact the original reporter and any other affected parties and explain the proposed resolution. The Committee will ask if this resolution is acceptable, and must note feedback for the record. + +Finally, the Committee will make a report to the NumPy Steering Council (as well as the NumPy core team in the event of an ongoing resolution, such as a ban). + +The Committee will never publicly discuss the issue; all public statements will be made by the chair of the Code of Conduct Committee or the NumPy Steering Council. + + +## Conflicts of Interest + +In the event of any conflict of interest, a Committee member must immediately notify the other members, and recuse themselves if necessary. diff --git a/content/fa/tabcontents.yaml b/content/fa/tabcontents.yaml new file mode 100644 index 0000000000..d74cba9bce --- /dev/null +++ b/content/fa/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + arraylibraries: + intro: + - + text: NumPy's API is the starting point when libraries are written to exploit innovative hardware, create specialized array types, or add capabilities beyond what NumPy provides. + headers: + - + text: Array Library + - + text: Capabilities & Application areas + libraries: + - + title: Dask + text: Distributed arrays and advanced parallelism for analytics, enabling performance at scale. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: NumPy-compatible array library for GPU-accelerated computing with Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.dev + - + title: JAX + text: "Composable transformations of NumPy programs: differentiate, vectorize, just-in-time compilation to GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: NumPy-compatible sparse array library that integrates with Dask and SciPy's sparse linear algebra. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: Deep learning framework that accelerates the path from research prototyping to production deployment. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: An end-to-end platform for machine learning to easily build and deploy ML powered applications. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: A cross-language development platform for columnar in-memory data and analytics. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://arrow.apache.org/ + - + title: xtensor + text: Multi-dimensional arrays with broadcasting and lazy computing for numerical analysis. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipulate JSON-like data with NumPy-like idioms. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: Python backend system that decouples API from implementation; unumpy provides a NumPy API. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: Nearly every scientist working in Python draws on the power of NumPy. + - + text: "NumPy brings the computational power of languages like C and Fortran to Python, a language much easier to learn and use. With this power comes simplicity: a solution in NumPy is often clear and elegant." + libraries: + - + title: Quantum Computing + alttext: A computer chip. + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: Statistical Computing + alttext: A line graph with the line moving up. + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: Image Processing + alttext: An photograph of the mountains. + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy + alttext: A telescope. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: Cognitive Psychology + alttext: A human head with gears. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: Bioinformatics + alttext: A strand of DNA. + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: Bayesian Inference + alttext: A graph with a bell-shaped curve. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: Mathematical Analysis + alttext: Four mathematical symbols. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: Chemistry + alttext: A test tube. + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: Geoscience + alttext: The Earth. + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: Geographic Processing + alttext: A map. + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: Architecture & Engineering + alttext: A microprocessor development board. + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy lies at the core of a rich ecosystem of data science libraries. A typical exploratory data science workflow might look like:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Diagram of Python Libraries. The five catagories are 'Extract, Transform, Load', 'Data Exploration', 'Data Modeling', 'Data Evaluation' and 'Data Presentation'. + image2: + - + img: /images/content_images/data-science.png + alttext: Diagram of three overlapping circles. The circles are labeled 'Mathematics', 'Computer Science' and 'Domain Expertise'. In the middle of the diagram, which has the three circles overlapping it, is an area labeled 'Data Science'. + examples: + - + text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor-devs.github.io/pyjanitor/)" + - + text: "Exploratory analysis: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "Model and evaluate: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Report in a dashboard: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://voila.readthedocs.io/)" + content: + - + text: For high data volumes, [Dask](https://dask.org) and [Ray](https://ray.io/) are designed to scale. Stable deployments rely on data versioning ([DVC](https://dvc.org)), experiment tracking ([MLFlow](https://mlflow.org)), and workflow automation ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) and [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: A streamplot made in matplotlib + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: A scatter-plot graph made in ggpy + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: A box-plot made in plotly + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + content: + - + text: NumPy is an essential component in the burgeoning [Python visualization landscape](https://pyviz.org/overviews/index.html), which includes [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://napari.org/), and [PyVista](https://docs.pyvista.org/), to name a few. + - + text: NumPy's accelerated processing of large arrays allows researchers to visualize datasets far larger than native Python could handle. diff --git a/content/fa/teams/index.md b/content/fa/teams/index.md new file mode 100644 index 0000000000..1baaaa35ab --- /dev/null +++ b/content/fa/teams/index.md @@ -0,0 +1,36 @@ +--- +title: NumPy Teams +sidebar: false +--- + +We are an international team on a mission to support scientific and research +communities worldwide by building quality, open-source software. +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# Governance + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/fa/user-survey-2020.md b/content/fa/user-survey-2020.md new file mode 100644 index 0000000000..b4349bcb7d --- /dev/null +++ b/content/fa/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: 2020 NUMPY COMMUNITY SURVEY +sidebar: false +--- + +In 2020, the NumPy survey team in partnership with students and faculty from a Master’s course in Survey Methodology jointly hosted by the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Over 1,200 users from 75 countries participated to help us map out a landscape of the NumPy community and voiced their thoughts about the future of the project. + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 NumPy user survey report, titled "NumPy Community Survey 2020 - results"' width = '250' +{{< /figure >}} + +**[Download the report](/surveys/NumPy_usersurvey_2020_report.pdf)** to take a closer look at the survey findings. + + +For the highlights, check out **[this infographic](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**. + +Ready for a deep dive? Visit **https://numpy.org/user-survey-2020-details/**. + diff --git a/content/fa/user-surveys.md b/content/fa/user-surveys.md new file mode 100644 index 0000000000..19e9307112 --- /dev/null +++ b/content/fa/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: NUMPY USER SURVEYS +sidebar: false +--- + +**2020** تیم نظرسنجی NumPy با همکاری دانشجویان و اساتید از دانشگاه میشیگان و دانشگاه مریلند اولین نظرسنجی رسمی جامعه NumPy را انجام دادند. Find the survey results [here](https://numpy.org/user-survey-2020/). + +**2021** The collected data is currently being analyzed. + +If you have any questions or suggestions for the past or future surveys, please open an issue [here](https://github.com/numpy/numpy-surveys/issues). diff --git a/content/fr/404.md b/content/fr/404.md new file mode 100644 index 0000000000..da192c53c0 --- /dev/null +++ b/content/fr/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +Oops! You've reached a dead end. + +If you think something should be here, you can [open an issue](https://github.com/numpy/numpy.org/issues) on GitHub. diff --git a/content/fr/_index.md b/content/fr/_index.md new file mode 100644 index 0000000000..be88f9e642 --- /dev/null +++ b/content/fr/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Powerful N-dimensional arrays' +body = ''' +Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. +''' + +[[item]] +type = 'card' +title = 'Numerical computing tools' +body = ''' +NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. +''' + +[[item]] +type = 'card' +title = 'Open source' +body = ''' +Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. +''' + +[[item]] +type = 'card' +title = 'Performant' +body = ''' +The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. +''' + +[[item]] +type = 'card' +title = 'Easy to use' +body = ''' +NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. +''' + +{{< /grid>}} diff --git a/content/fr/about.md b/content/fr/about.md new file mode 100644 index 0000000000..243f7083ae --- /dev/null +++ b/content/fr/about.md @@ -0,0 +1,90 @@ +--- +title: About Us +sidebar: false +--- + +NumPy is an open source project that enables numerical computing with Python. It was created in 2005 building on the early work of the Numeric and Numarray libraries. NumPy will always be 100% open source software and free for all to use. It is released under the liberal terms of the [modified BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +NumPy is developed in the open on GitHub, through the consensus of the NumPy and wider scientific Python community. For more information on our governance approach, please see our [Governance Document](https://www.numpy.org/devdocs/dev/governance/index.html). + + +## Steering Council + +The NumPy Steering Council is the project's governing body. Its role is to ensure, through working with and serving the broader NumPy community, the long-term sustainability of the project, both as a software package and community. The NumPy Steering Council currently consists of the following members (in alphabetical order, by last name): + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Melissa Weber Mendonça +- Eric Wieser + +Emeritus: + +- Alex Griffing (2015-2017) +- Allan Haldane (2015-2021) +- Marten van Kerkwijk (2017-2019) +- Travis Oliphant (project founder, 2005-2012) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Jaime Fernández del Río (2014-2021) +- Pauli Virtanen (2008-2021) + +To contact the NumPy Steering Council, please email numpy-team@googlegroups.com. + +## Teams + +The NumPy project leadership is actively working on diversifying contribution pathways to the project.
NumPy currently has the following teams: + +- development +- documentation +- triage +- website +- survey +- translations +- sprint mentors +- optimization +- funding and grants + +See the [Team](/teams) page for more info. + +## NumFOCUS Subcommittee + +- Charles Harris +- Ralf Gommers +- Inessa Pawson +- Sebastian Berg +- External member: Thomas Caswell + +## Sponsors + +NumPy receives direct funding from the following sources: +{{< sponsors >}} + + +## Institutional Partners + +Institutional Partners are organizations that support the project by employing people that contribute to NumPy as part of their job. Current Institutional Partners include: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## Donate + +If you have found NumPy useful in your work, research, or company, please consider a donation to the project commensurate with your resources. Any amount helps! All donations will be used strictly to fund the development of NumPy’s open source software, documentation, and community. + +NumPy is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States. NumFOCUS provides NumPy with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Visit [numfocus.org](https://numfocus.org) for more information. + +Donations to NumPy are managed by [NumFOCUS](https://numfocus.org). For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax advisor about your particular tax situation. + +NumPy's Steering Council will make the decisions on how to best use any funds received. Technical and infrastructure priorities are documented on the [NumPy Roadmap](https://www.numpy.org/neps/index.html#roadmap). + +{{}} + diff --git a/content/fr/arraycomputing.md b/content/fr/arraycomputing.md new file mode 100644 index 0000000000..abd29d11c1 --- /dev/null +++ b/content/fr/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: Array Computing +sidebar: false +--- + +*Array computing is the foundation of statistical, mathematical, scientific computing in various contemporary data science and analytics applications such as data visualization, digital signal processing, image processing, bioinformatics, machine learning, AI, and several others.* + +Large scale data manipulation and transformation depends on efficient, high-performance array computing. The language of choice for data analytics, machine learning, and productive numerical computing is **Python.** + +**Num**erical **Py**thon or NumPy is its de-facto standard Python programming language library that supports large, multi-dimensional arrays and matrices, and comes with a vast collection of high-level mathematical functions to operate on these arrays. + +Since the launch of NumPy in 2006, Pandas appeared on the landscape in 2008, and it was not until a couple of years ago that several array computing libraries showed up in succession, crowding the array computing landscape. Many of these newer libraries mimic NumPy-like features and capabilities, and pack newer algorithms and features geared towards machine learning and artificial intelligence applications. + +arraycl + +**Array computing** is based on **arrays** data structures. *Arrays* are used to organize vast amounts of data such that a related set of values can be easily sorted, searched, mathematically manipulated, and transformed easily and quickly. + +Array computing is *unique* as it involves operating on the data array *at once*. What this means is that any array operation applies to an entire set of values in one shot. This vectorized approach provides speed and simplicity by enabling programmers to code and operate on aggregates of data, without having to use loops of individual scalar operations. diff --git a/content/fr/case-studies/blackhole-image.md b/content/fr/case-studies/blackhole-image.md new file mode 100644 index 0000000000..22334ebed0 --- /dev/null +++ b/content/fr/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "Case Study: First Image of a Black Hole" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## A telescope the size of the earth + +The [Event Horizon telescope (EHT)](https://eventhorizontelescope.org) is an array of eight ground-based radio telescopes forming a computational telescope the size of the earth, studing the universe with unprecedented sensitivity and resolution. The huge virtual telescope, which uses a technique called very-long-baseline interferometry (VLBI), has an angular resolution of [20 micro-arcseconds][resolution] — enough to read a newspaper in New York from a sidewalk café in Paris! + +### Key Goals and Results + +* **A New View of the Universe:** The groundwork for the EHT's groundbreaking image had been laid 100 years earlier when [Sir Arthur Eddington][eddington] yielded the first observational support of Einstein's theory of general relativity. + +* **The Black Hole:** EHT was trained on a supermassive black hole approximately 55 million light-years from Earth, lying at the center of the galaxy Messier 87 (M87) in the Virgo galaxy cluster. Its mass is 6.5 billion times the Sun's. It had been studied for [over 100 years](https://www.jpl.nasa.gov/news/news.php?feature=7385), but never before had a black hole been visually observed. + +* **Comparing Observations to Theory:** From Einstein’s general theory of relativity, scientists expected to find a shadow-like region caused by gravitational bending and capture of light. Scientists could use it to measure the black hole's enormous mass. + +### The Challenges + +* **Computational scale** + + EHT poses massive data-processing challenges, including rapid atmospheric phase fluctuations, large recording bandwidth, and telescopes that are widely dissimilar and geographically dispersed. + +* **Too much information** + + Each day EHT generates over 350 terabytes of observations, stored on helium-filled hard drives. Reducing the volume and complexity of this much data is enormously difficult. + +* **Into the unknown** + + When the goal is to see something never before seen, how can scientists be confident the image is correct? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT Data Processing Pipeline' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## NumPy’s Role + +What if there's a problem with the data? Or perhaps an algorithm relies too heavily on a particular assumption. Will the image change drastically if a single parameter is changed? + +The EHT collaboration met these challenges by having independent teams evaluate the data, using both established and cutting-edge image reconstruction techniques. When results proved consistent, they were combined to yield the first-of-a-kind image of the black hole. + +Their work illustrates the role the scientific Python ecosystem plays in advancing science through collaborative data analysis. + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'The role of NumPy in Black Hole imaging' +{{< /figure >}} + +For example, the [`eht-imaging`][ehtim] Python package provides tools for simulating and performing image reconstruction on VLBI data. NumPy is at the core of array data processing used in this package, as illustrated by the partial software dependency chart below. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Software dependency chart of ehtim package highlighting NumPy' +{{< /figure >}} + +Besides NumPy, many other packages, such as [SciPy](https://www.scipy.org) and [Pandas](https://pandas.io), are part of the data processing pipeline for imaging the black hole. The standard astronomical file formats and time/coordinate transformations were handled by [Astropy][astropy], while [Matplotlib][mpl] was used in visualizing data throughout the analysis pipeline, including the generation of the final image of the black hole. + +## Summary + +The efficient and adaptable n-dimensional array that is NumPy's central feature enabled researchers to manipulate large numerical datasets, providing a foundation for the first-ever image of a black hole. A landmark moment in science, it gives stunning visual evidence of Einstein’s theory. The achievement encompasses not only technological breakthroughs but also international collaboration among over 200 scientists and some of the world's best radio observatories. Innovative algorithms and data processing techniques, improving upon existing astronomical models, helped unfold a mystery of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/fr/case-studies/cricket-analytics.md b/content/fr/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..d0be271f50 --- /dev/null +++ b/content/fr/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "Case Study: Cricket Analytics, the game changer!" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, the biggest Cricket Festival in India' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## About Cricket + +It would be an understatement to state that Indians love cricket. The game is played in just about every nook and cranny of India, rural or urban, popular with the young and the old alike, connecting billions in India unlike any other sport. Cricket enjoys lots of media attention. There is a significant amount of [money](https://www.statista.com/topics/4543/indian-premier-league-ipl/) and fame at stake. Over the last several years, technology has literally been a game changer. Audiences are spoilt for choice with streaming media, tournaments, affordable access to mobile based live cricket watching, and more. + +The Indian Premier League (IPL) is a professional Twenty20 cricket league, founded in 2008. It is one of the most attended cricketing events in the world, valued at [$6.7 billion](https://en.wikipedia.org/wiki/Indian_Premier_League) in 2019. + +Cricket is a game of numbers - the runs scored by a batsman, the wickets taken by a bowler, the matches won by a cricket team, the number of times a batsman responds in a certain way to a kind of bowling attack, etc. The capability to dig into cricketing numbers for both improving performance and studying the business opportunities, overall market, and economics of cricket via powerful analytics tools, powered by numerical computing software such as NumPy, is a big deal. Cricket analytics provides interesting insights into the game and predictive intelligence regarding game outcomes. + +Today, there are rich and almost infinite troves of cricket game records and statistics available, e.g., [ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) and [cricsheet](https://cricsheet.org). These and several such cricket databases have been used for [cricket analysis](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances) using the latest machine learning and predictive modelling algorithms. Media and entertainment platforms along with professional sports bodies associated with the game use technology and analytics for determining key metrics for improving match winning chances: + +* batting performance moving average, +* score forecasting, +* gaining insights into fitness and performance of a player against different opposition, +* player contribution to wins and losses for making strategic decisions on team composition + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Cricket Pitch, the focal point in the field' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### Key Data Analytics Objectives + +* Sports data analytics are used not only in cricket but many [other sports](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) for improving the overall team performance and maximizing winning chances. +* Real-time data analytics can help in gaining insights even during the game for changing tactics by the team and by associated businesses for economic benefits and growth. +* Besides historical analysis, predictive models are harnessed to determine the possible match outcomes that require significant number crunching and data science know-how, visualization tools and capability to include newer observations in the analysis. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'Cricket Pose Estimator' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### The Challenges + +* **Data Cleaning and preprocessing** + + IPL has expanded cricket beyond the classic test match format to a much larger scale. The number of matches played every season across various formats has increased and so has the data, the algorithms, newer sports data analysis technologies and simulation models. Cricket data analysis requires field mapping, player tracking, ball tracking, player shot analysis, and several other aspects involved in how the ball is delivered, its angle, spin, velocity, and trajectory. All these factors together have increased the complexity of data cleaning and preprocessing. + +* **Dynamic Modeling** + + In cricket, just like any other sport, there can be a large number of variables related to tracking various numbers of players on the field, their attributes, the ball, and several possibilities of potential actions. The complexity of data analytics and modeling is directly proportional to the kind of predictive questions that are put forth during analysis and are highly dependent on data representation and the model. Things get even more challenging in terms of computation, data comparisons when dynamic cricket play predictions are sought such as what would have happened if the batsman had hit the ball at a different angle or velocity. + +* **Predictive Analytics Complexity** + + Much of the decision making in cricket is based on questions such as "how often does a batsman play a certain kind of shot if the ball delivery is of a particular type", or "how does a bowler change his line and length if the batsman responds to his delivery in a certain way". This kind of predictive analytics query requires highly granular dataset availability and the capability to synthesize data and create generative models that are highly accurate. + +## NumPy’s Role in Cricket Analytics + +Sports Analytics is a thriving field. Many researchers and companies [use NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) and other PyData packages like Scikit-learn, SciPy, Matplotlib, and Jupyter, besides using the latest machine learning and AI techniques. NumPy has been used for various kinds of cricket related sporting analytics such as: + +* **Statistical Analysis:** NumPy's numerical capabilities help estimate the statistical significance of observational data or match events in the context of various player and game tactics, estimating the game outcome by comparison with a generative or static model. [Causal analysis](https://amplitude.com/blog/2017/01/19/causation-correlation) and [big data approaches](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) are used for tactical analysis. + +* **Data Visualization:** Data graphing and [visualization](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) provide useful insights into relationship between various datasets. + +## Summary + +Sports Analytics is a game changer when it comes to how professional games are played, especially how strategic decision making happens, which until recently was primarily done based on “gut feeling" or adherence to past traditions. NumPy forms a solid foundation for a large set of Python packages which provide higher level functions related to data analytics, machine learning, and AI algorithms. These packages are widely deployed to gain real-time insights that help in decision making for game-changing outcomes, both on field as well as to draw inferences and drive business around the game of cricket. Finding out the hidden parameters, patterns, and attributes that lead to the outcome of a cricket match helps the stakeholders to take notice of game insights that are otherwise hidden in numbers and statistics. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagram showing benefits of using NumPy for cricket analytics' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/fr/case-studies/deeplabcut-dnn.md b/content/fr/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..257905de91 --- /dev/null +++ b/content/fr/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "Case Study: DeepLabCut 3D Pose Estimation" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analyzing mice hand-movement using DeepLapCut' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Open Source Software is accelerating Biomedicine. DeepLabCut enables automated video analysis of animal behavior using Deep Learning. +> +> {{< /blockquote >}} + +## About DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) is an open source toolbox that empowers researchers at hundreds of institutions worldwide to track behaviour of laboratory animals, with very little training data, at human-level accuracy. With DeepLabCut technology, scientists can delve deeper into the scientific understanding of motor control and behavior across animal species and timescales. + +Several areas of research, including neuroscience, medicine, and biomechanics, use data from tracking animal movement. DeepLabCut helps in understanding what humans and other animals are doing by parsing actions that have been recorded on film. Using automation for laborious tasks of tagging and monitoring, along with deep neural network based data analysis, DeepLabCut makes scientific studies involving observing animals, such as primates, mice, fish, flies etc., much faster and more accurate. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Colored dots track the positions of a racehorse’s body part' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' +{{< /figure >}} + +DeepLabCut's non-invasive behavioral tracking of animals by extracting the poses of animals is crucial for scientific pursuits in domains such as biomechanics, genetics, ethology & neuroscience. Measuring animal poses non-invasively from video - without markers - in dynamically changing backgrounds is computationally challenging, both technically as well as in terms of resource needs and training data required. + +DeepLabCut allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior through a Python based software toolkit. With DeepLabCut, researchers can identify distinct frames from videos, digitally label specific body parts in a few dozen frames with a tailored GUI, and then the deep learning based pose estimation architectures in DeepLabCut learn how to pick out those same features in the rest of the video and in other similar videos of animals. It works across species of animals, from common laboratory animals such as flies and mice to more unusual animals like [cheetahs][cheetah-movement]. + +DeepLabCut uses a principle called [transfer learning](https://arxiv.org/pdf/1909.11229), which greatly reduces the amount of training data required and speeds up the convergence of the training period. Depending on the needs, users can pick different network architectures that provide faster inference (e.g. MobileNetV2), which can also be combined with real-time experimental feedback. DeepLabCut originally used the feature detectors from a top-performing human pose estimation architecture, called [DeeperCut](https://arxiv.org/abs/1605.03170), which inspired the name. The package now has been significantly changed to include additional architectures, augmentation methods, and a full front-end user experience. Furthermore, to support large-scale biological experiments DeepLabCut provides active learning capabilities so that users can increase the training set over time to cover edge cases and make their pose estimation algorithm robust within the specific context. + +Recently, the [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) was introduced, which provides pre-trained models for various species and experimental conditions from facial analysis in primates to dog posture. This can be run for instance in the cloud without any labeling of new data, or neural network training, and no programming experience is necessary. + +### Key Goals and Results + +* **Automation of animal pose analysis for scientific studies:** + + The primary objective of DeepLabCut technology is to measure and track posture of animals in a diverse settings. This data can be used, for example, in neuroscience studies to understand how the brain controls movement, or to elucidate how animals socially interact. Researchers have observed a [tenfold performance boost](https://www.biorxiv.org/content/10.1101/457242v1) with DeepLabCut. Poses can be inferred offline at up to 1200 frames per second (FPS). + +* **Creation of an easy-to-use Python toolkit for pose estimation:** + + DeepLabCut wanted to share their animal pose-estimation technology in the form of an easy to use tool that can be adopted by researchers easily. So they have created a complete, easy-to-use Python toolbox with project management features as well. These enable not only automation of pose-estimation but also managing the project end-to-end by helping the DeepLabCut Toolkit user right from the dataset collection stage to creating shareable and reusable analysis pipelines. + + Their [toolkit][DLCToolkit] is now available as open source. + + A typical DeepLabCut Workflow includes: + + - creation and refining of training sets via active learning + - creation of tailored neural networks for specific animals and scenarios + - code for large-scale inference on videos + - draw inferences using integrated visualization tools + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pose estimation steps with DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +{{< /figure >}} + +### The Challenges + +* **Speed** + + Fast processing of animal behavior videos in order to measure their behavior and at the same time make scientific experiments more efficient, accurate. Extracting detailed animal poses for laboratory experiments, without markers, in dynamically changing backgrounds, can be challenging, both technically as well as in terms of resource needs and training data required. Coming up with a tool that is easy to use without the need for skills such as computer vision expertise that enables scientists to do research in more real-world contexts, is a non-trivial problem to solve. + +* **Combinatorics** + + Combinatorics involves assembly and integration of movement of multiple limbs into individual animal behavior. Assembling keypoints and their connections into individual animal movements and linking them across time is a complex process that requires heavy-duty numerical analysis, especially in case of multi-animal movement tracking in experiment videos. + +* **Data Processing** + + Last but not the least, array manipulation - processing large stacks of arrays corresponding to various images, target tensors and keypoints is fairly challenging. + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Pose estimation variety and complexity' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## NumPy's Role in meeting Pose Estimation Challenges + +NumPy addresses DeepLabCut technology's core need of numerical computations at high speed for behavioural analytics. Besides NumPy, DeepLabCut employs various Python software that utilize NumPy at their core, such as [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) and [Tensorflow](https://www.tensorflow.org). + +The following features of NumPy played a key role in addressing the image processing, combinatorics requirements and need for fast computation in DeepLabCut pose estimation algorithms: + +* Vectorization +* Masked Array Operations +* Linear Algebra +* Random Sampling +* Reshaping of large arrays + +DeepLabCut utilizes NumPy’s array capabilities throughout the workflow offered by the toolkit. In particular, NumPy is used for sampling distinct frames for human annotation labeling, and for writing, editing and processing annotation data. Within TensorFlow the neural network is trained by DeepLabCut technology over thousands of iterations to predict the ground truth annotations from frames. For this purpose, target densities (scoremaps) are created to cast pose estimation as a image-to-image translation problem. To make the neural networks robust, data augmentation is employed, which requires the calculation of target scoremaps subject to various geometric and image processing steps. To make training fast, NumPy’s vectorization capabilities are leveraged. For inference, the most likely predictions from target scoremaps need to extracted and one needs to efficiently “link predictions to assemble individual animals”. + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut Workflow' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## Summary + +Observing and efficiently describing behavior is a core tenant of modern ethology, neuroscience, medicine, and technology. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior. With only a small set of training images, the DeepLabCut Python toolbox allows training a neural network to within human level labeling accuracy, thus expanding its application to not only behavior analysis in the laboratory, but to potentially also in sports, gait analysis, medicine and rehabilitation studies. Complex combinatorics, data processing challenges faced by DeepLabCut algorithms are addressed through the use of NumPy's array manipulation capabilities. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/fr/case-studies/gw-discov.md b/content/fr/case-studies/gw-discov.md new file mode 100644 index 0000000000..08f54b7547 --- /dev/null +++ b/content/fr/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "Case Study: Discovery of Gravitational Waves" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Gravitational Waves' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## About [Gravitational Waves](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) and [LIGO](https://www.ligo.caltech.edu) + +Gravitational waves are ripples in the fabric of space and time, generated by cataclysmic events in the universe such as collision and merging of two black holes or coalescing binary stars or supernovae. Observing GW can not only help in studying gravity but also in understanding some of the obscure phenomena in the distant universe and its impact. + +The [Laser Interferometer Gravitational-Wave Observatory (LIGO)](https://www.ligo.caltech.edu) was designed to open the field of gravitational-wave astrophysics through the direct detection of gravitational waves predicted by Einstein’s General Theory of Relativity. It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. Each of them has multi-kilometer-scale gravitational wave detectors that use laser interferometry. The LIGO Scientific Collaboration (LSC), is a group of more than 1000 scientists from universities around the United States and in 14 other countries supported by more than 90 universities and research institutes; approximately 250 students actively contributing to the collaboration. The new LIGO discovery is the first observation of gravitational waves themselves, made by measuring the tiny disturbances the waves make to space and time as they pass through the earth. It has opened up new astrophysical frontiers that explore the warped side of the universe—objects and phenomena that are made from warped spacetime. + + +### Key Objectives + +* Though its [mission](https://www.ligo.caltech.edu/page/what-is-ligo) is to detect gravitational waves from some of the most violent and energetic processes in the Universe, the data LIGO collects may have far-reaching effects on many areas of physics including gravitation, relativity, astrophysics, cosmology, particle physics, and nuclear physics. +* Crunch observed data via numerical relativity computations that involves complex maths in order to discern signal from noise, filter out relevant signal and statistically estimate significance of observed data +* Data visualization so that the binary / numerical results can be comprehended. + + + +### The Challenges + +* **Computation** + + Gravitational Waves are hard to detect as they produce a very small effect and have tiny interaction with matter. Processing and analyzing all of LIGO's data requires a vast computing infrastructure.After taking care of noise, which is billions of times of the signal, there is still very complex relativity equations and huge amounts of data which present a computational challenge: [O(10^7) CPU hrs needed for binary merger analyses](https://youtu.be/7mcHknWWzNI) spread on 6 dedicated LIGO clusters + +* **Data Deluge** + + As observational devices become more sensitive and reliable, the challenges posed by data deluge and finding a needle in a haystack rise multi-fold. LIGO generates terabytes of data every day! Making sense of this data requires an enormous effort for each and every detection. For example, the signals being collected by LIGO must be matched by supercomputers against hundreds of thousands of templates of possible gravitational-wave signatures. + +* **Visualization** + + Once the obstacles related to understanding Einstein’s equations well enough to solve them using supercomputers are taken care of, the next big challenge was making data comprehensible to the human brain. Simulation modeling as well as signal detection requires effective visualization techniques. Visualization also plays a role in lending more credibility to numerical relativity in the eyes of pure science aficionados, who did not give enough importance to numerical relativity until imaging and simulations made it easier to comprehend results for a larger audience. Speed of complex computations and rendering, re-rendering images and simulations using latest experimental inputs and insights can be a time consuming activity that challenges researchers in this domain. + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Estimated gravitational-wave strain amplitude from GW150914' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## NumPy’s Role in the Detection of Gravitational Waves + +Gravitational waves emitted from the merger cannot be computed using any technique except brute force numerical relativity using supercomputers. The amount of data LIGO collects is as incomprehensibly large as gravitational wave signals are small. + +NumPy, the standard numerical analysis package for Python, was utilized by the software used for various tasks performed during the GW detection project at LIGO. NumPy helped in solving complex maths and data manipulation at high speed. Here are some examples: + +* [Signal Processing](https://www.uv.es/virgogroup/Denoising_ROF.html): Glitch detection, [Noise identification and Data Characterization](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* Data retrieval: Deciding which data can be analyzed, figuring out whether it contains a signal - needle in a haystack +* Statistical analysis: estimate the statistical significance of observational data, estimating the signal parameters (e.g. masses of stars, spin velocity, and distance) by comparison with a model. +* Visualization of data + - Time series + - Spectrograms +* Compute Correlations +* Key [Software](https://github.com/lscsoft) developed in GW data analysis such as [GwPy](https://gwpy.github.io/docs/stable/overview.html) and [PyCBC](https://pycbc.org) uses NumPy and AstroPy under the hood for providing object based interfaces to utilities, tools, and methods for studying data from gravitational-wave detectors. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Dependency graph showing how GwPy package depends on NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Dependency graph showing how PyCBC package depends on NumPy' +{{< /figure >}} + +## Summary + +GW detection has enabled researchers to discover entirely unexpected phenomena while providing new insight into many of the most profound astrophysical phenomena known. Number crunching and data visualization is a crucial step that helps scientists gain insights into data gathered from the scientific observations and understand the results. The computations are complex and cannot be comprehended by humans unless it is visualized using computer simulations that are fed with the real observed data and analysis. NumPy along with other Python packages such as matplotlib, pandas, and scikit-learn is [enabling researchers](https://www.gw-openscience.org/events/GW150914/) to answer complex questions and discover new horizons in our understanding of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/fr/citing-numpy.md b/content/fr/citing-numpy.md new file mode 100644 index 0000000000..5bb5d791b4 --- /dev/null +++ b/content/fr/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: Citing NumPy +sidebar: false +--- + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing the following paper: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_In BibTeX format:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/fr/code-of-conduct.md b/content/fr/code-of-conduct.md new file mode 100644 index 0000000000..5ee1f4bcbe --- /dev/null +++ b/content/fr/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy Code of Conduct +sidebar: false +aliases: + - /conduct.html +--- + +### Introduction + +This Code of Conduct applies to all spaces managed by the NumPy project, including all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our community. The NumPy project does not organise in-person events, however events related to our community should have a code of conduct similar in spirit to this one. + +This Code of Conduct should be honored by everyone who participates in the NumPy community formally or informally, or claims any affiliation with the project, in any project-related activities and especially when representing the project, in any role. + +This code is not exhaustive or complete. It serves to distill our common understanding of a collaborative, shared environment and goals. Please try to follow this code in spirit as much as in letter, to create a friendly and productive environment that enriches the surrounding community. + +### Specific Guidelines + +We strive to: + +1. Be open. We invite anyone to participate in our community. We prefer to use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also ensures that any inadvertent mistakes in answering are more easily detected and corrected. +2. Be empathetic, welcoming, friendly, and patient. We work together to resolve conflict, and assume good intentions. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. +3. Be collaborative. Our work will be used by other people, and in turn we will depend on the work of others. When we make something for the benefit of the project, we are willing to explain to others how it works, so that they can build on the work to make it even better. Any decision we make will affect users and colleagues, and we take those consequences seriously when making decisions. +4. Be inquisitive. Nobody knows everything! Asking questions early avoids many problems later, so we encourage questions, although we may direct them to the appropriate forum. We will try hard to be responsive and helpful. +5. Be careful in the words that we choose. We are careful and respectful in our communication, and we take responsibility for our own speech. Be kind to others. Do not insult or put down other participants. We will not accept harassment or other exclusionary behaviour, such as: + * Violent threats or language directed against another person. + * Sexist, racist, or otherwise discriminatory jokes and language. + * Posting sexually explicit or violent material. + * Posting (or threatening to post) other people’s personally identifying information (“doxing”). + * Sharing private content, such as emails sent privately or non-publicly, or unlogged forums such as IRC channel history, without the sender’s consent. + * Personal insults, especially those using racist or sexist terms. + * Unwelcome sexual attention. + * Excessive profanity. Please avoid swearwords; people differ greatly in their sensitivity to swearing. + * Repeated harassment of others. In general, if someone asks you to stop, then stop. + * Advocating for, or encouraging, any of the above behaviour. + +### Diversity Statement + +The NumPy project welcomes and encourages participation by everyone. We are committed to being a community that everyone enjoys being part of. Although we may not always be able to accommodate each individual’s preferences, we try our best to treat everyone kindly. + +No matter how you identify yourself or how others perceive you: we welcome you. Though no list can hope to be comprehensive, we explicitly honour diversity in: age, culture, ethnicity, genotype, gender identity or expression, language, national origin, neurotype, phenotype, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, subculture and technical ability, to the extent that these do not conflict with this code of conduct. + +Though we welcome people fluent in all languages, NumPy development is conducted in English. + +Standards for behaviour in the NumPy community are detailed in the Code of Conduct above. Participants in our community should uphold these standards in all their interactions and help others to do so as well (see next section). + +### Reporting Guidelines + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We also recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this Code of Conduct. Please keep this in mind when deciding on how to respond to a breach of this Code. + +For clearly intentional breaches, report those to the Code of Conduct Committee (see below). For possibly unintentional breaches, you may reply to the person and point out this code of conduct (either in public or in private, whatever is most appropriate). If you would prefer not to do that, please feel free to report to the Code of Conduct Committee directly, or ask the Committee for advice, in confidence. + +You can report issues to the NumPy Code of Conduct Committee at numpy-conduct@googlegroups.com. + +Currently, the Committee consists of: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +If your report involves any members of the Committee, or if they feel they have a conflict of interest in handling it, then they will recuse themselves from considering your report. Alternatively, if for any reason you feel uncomfortable making a report to the Committee, then you can also contact senior NumFOCUS staff at [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### Incident reporting resolution & Code of Conduct enforcement + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](report-handling-manual). + +We will investigate and respond to all complaints. The NumPy Code of Conduct Committee and the NumPy Steering Committee (if involved) will protect the identity of the reporter, and treat the content of complaints as confidential (unless the reporter agrees otherwise). + +In case of severe and obvious breaches, e.g. personal threat or violent, sexist or racist language, we will immediately disconnect the originator from NumPy communication channels; please see the manual for details. + +In cases not involving clear severe and obvious breaches of this Code of Conduct the process for acting on any received Code of Conduct violation report will be: + +1. acknowledge report is received, +2. reasonable discussion/feedback, +3. mediation (if feedback didn’t help, and only if both reporter and reportee agree to this), +4. enforcement via transparent decision (see [Resolutions](report-handling-manual/#resolutions)) by the Code of Conduct Committee. + +The Committee will respond to any report as soon as possible, and at most within 72 hours. + +### Endnotes + +We are thankful to the groups behind the following documents, from which we drew content and inspiration: + +- [The SciPy Code of Conduct](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/fr/community.md b/content/fr/community.md new file mode 100644 index 0000000000..5034fba239 --- /dev/null +++ b/content/fr/community.md @@ -0,0 +1,66 @@ +--- +title: Community +sidebar: false +--- + +NumPy is a community-driven open source project developed by a diverse group of [contributors](/teams/). The NumPy leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read the [NumPy Code of Conduct](/code-of-conduct) for guidance on how to interact with others in a way that makes the community thrive. + +We offer several communication channels to learn, share your knowledge and connect with others within the NumPy community. + + +## Participate online + +The following are ways to engage directly with the NumPy project and community. _Please note that we encourage users and community members to support each other for usage questions - see [Get Help](/gethelp)._ + + +### [NumPy mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) + +This list is the main forum for longer-form discussions, like adding new features to NumPy, making changes to the NumPy Roadmap, and all kinds of project-wide decision making. Announcements about NumPy, such as for releases, developer meetings, sprints or conference talks are also made on this list. + +On this list please use bottom posting, reply to the list (rather than to another sender), and don't reply to digests. A searchable archive of this list is available [here](https://mail.python.org/archives/list/numpy-discussion@python.org/). + +*** + +### [GitHub issue tracker](https://github.com/numpy/numpy/issues) + +- For bug reports (e.g. "`np.arange(3).shape` returns `(5,)`, when it should return `(3,)`"); +- documentation issues (e.g. "I found this section unclear"); +- and feature requests (e.g. "I would like to have a new interpolation method in `np.percentile`"). + +_Please note that GitHub is not the right place to report a security vulnerability. If you think you have found a security vulnerability in NumPy, please report it [here](https://tidelift.com/docs/security)._ + +*** + +### [Slack](https://numpy-team.slack.com) + +A real-time chat room to ask questions about _contributing_ to NumPy. This is a private space, specifically meant for people who are hesitant to bring up their questions or ideas on a large public mailing list or GitHub. Please see [here](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) for more details and how to get an invite. + + +## Study Groups and Meetups + +If you would like to find a local meetup or study group to learn more about NumPy and the wider ecosystem of Python packages for data science and scientific computing, we recommend exploring the [PyData meetups](https://www.meetup.com/pro/pydata/) (150+ meetups, 100,000+ members). + +NumPy also organizes in-person sprints for its team and interested contributors occasionally. These are typically planned several months in advance and will be announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) and [Twitter](https://twitter.com/numpy_team). + + +## Conferences + +The NumPy project doesn't organize its own conferences. The conferences that have traditionally been most popular with NumPy maintainers, contributors and users are the SciPy and PyData conference series: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (15-20 events a year spread over many countries) + +Many of these conferences include tutorial days that cover NumPy and/or sprints where you can learn how to contribute to NumPy or related open source projects. + + +## Join the NumPy community + +To thrive, the NumPy project needs your expertise and enthusiasm. Not a coder? Not a problem! There are many ways to contribute to NumPy. + +If you are interested in becoming a NumPy contributor (yay!) we recommend checking out our [Contribute](/contribute) page. + +Also, feel free to stop by and say hi at one of our community meetings. To keep track of them, check out our events calendar [here](https://scientific-python.org/calendars/). diff --git a/content/fr/config.yaml b/content/fr/config.yaml new file mode 100644 index 0000000000..694aba3175 --- /dev/null +++ b/content/fr/config.yaml @@ -0,0 +1,137 @@ +languageName: English +params: + description: Why NumPy? Powerful n-dimensional arrays. Numerical computing tools. Interoperable. Performant. Open source. + navbarlogo: + image: logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: The fundamental package for scientific computing with Python + #Button text + buttontext: "Latest release: NumPy 2.0. View all releases" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: placeholder + intro: + - + title: Try NumPy + text: Use the interactive shell to try NumPy in the browser + docslink: Don't forget to check out the docs. + casestudies: + title: CASE STUDIES + features: + - + title: First Image of a Black Hole + text: How NumPy, together with libraries like SciPy and Matplotlib that depend on NumPy, enabled the Event Horizon Telescope to produce the first ever image of a black hole + img: /images/content_images/case_studies/blackhole.png + alttext: First image of a black hole. It is an orange circle in a black background. + url: /case-studies/blackhole-image + - + title: Detection of Gravitational Waves + text: In 1916, Albert Einstein predicted gravitational waves; 100 years later their existence was confirmed by LIGO scientists using NumPy. + img: /images/content_images/case_studies/gravitional.png + alttext: Two orbs orbiting each other. They are displacing gravity around them. + url: /case-studies/gw-discov + - + title: Sports Analytics + text: Cricket Analytics is changing the game by improving player and team performance through statistical modelling and predictive analytics. NumPy enables many of these analyses. + img: /images/content_images/case_studies/sports.jpg + alttext: Cricket ball on green field. + url: /case-studies/cricket-analytics + - + title: Pose Estimation using deep learning + text: DeepLabCut uses NumPy for accelerating scientific studies that involve observing animal behavior for better understanding of motor control, across species and timescales. + img: /images/content_images/case_studies/deeplabcut.png + alttext: Cheetah pose analysis + url: /case-studies/deeplabcut-dnn + tabs: + title: ECOSYSTEM + section5: false + navbar: + - + title: Install + url: /install + - + title: Documentation + url: https://numpy.org/doc/stable + - + title: Learn + url: /learn + - + title: Community + url: /community + - + title: About Us + url: /about + - + title: News + url: /news + - + title: Contribute + url: /contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: Install + link: /install + - + text: Documentation + link: https://numpy.org/doc/stable + - + text: Learn + link: /learn + - + text: Citing Numpy + link: /citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /about + - + text: Community + link: /community + - + text: User surveys + link: /user-surveys + - + text: Contribute + link: /contribute + - + text: Code of conduct + link: /code-of-conduct + column3: + links: + - + text: Get help + link: /gethelp + - + text: Terms of use + link: /terms + - + text: Privacy + link: /privacy + - + text: Press kit + link: /press-kit diff --git a/content/fr/contribute.md b/content/fr/contribute.md new file mode 100644 index 0000000000..0826a76184 --- /dev/null +++ b/content/fr/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribute to NumPy +sidebar: false +--- + +The NumPy project welcomes your expertise and enthusiasm! Your choices aren't limited to programming, as you can see below there are many areas where we need **your** help. + +If you're unsure where to start or how your skills fit in, _reach out!_ You can ask on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) or [GitHub](http://github.com/numpy/numpy) (open an [issue](https://github.com/numpy/numpy/issues) or comment on a relevant issue). + +Those are our preferred channels (open source is open by nature), but if you prefer to talk privately, contact our community coordinators at or on [Slack](https://numpy-team.slack.com) (write for an invite). + +We also have a biweekly _community call_, details of which are announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion). You are very welcome to join. If you are new to contributing to open source, we also highly recommend reading [this guide](https://opensource.guide/how-to-contribute/). + +Our community aspires to treat everyone equally and to value all contributions. We have a [Code of Conduct](/code-of-conduct) to foster an open and welcoming environment. + +### Writing code + +Programmers, this [guide](https://numpy.org/devdocs/dev/index.html#development-process-summary) explains how to contribute to the NumPy codebase.
Check out also our [YouTube channel](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) for additional advice. + +### Reviewing pull requests +The project has more than 250 open pull requests -- meaning many potential improvements and many open-source contributors waiting for feedback. If you're a developer who knows NumPy, you can help even if you're not familiar with the codebase. You can: +* summarize a long-running discussion +* triage documentation PRs +* test proposed changes + +### Developing educational materials + +NumPy's [User Guide](https://numpy.org/devdocs) is undergoing rehabilitation. We're in need of new tutorials, how-to's, and deep-dive explanations, and the site needs restructuring. Opportunities aren't limited to writers. We'd also welcome worked examples, notebooks, and videos. [NEP 44 — Restructuring the NumPyDocumentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) lays out our ideas -- and you may have others. + +### Issue triaging + +The [NumPy issue tracker](https://github.com/numpy/numpy/issues) has a _lot_ of open issues. Some are no longer valid, some should be prioritized, and some would make good issues for new contributors. You can: + +* check if older bugs are still present +* find duplicate issues and link related ones +* add good self-contained reproducers to issues +* label issues correctly (this requires triage rights -- just ask) + +Please just dive in. + +### Website development + +We've just revamped our website, but we're far from done. If you love web development, these [issues](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) list some of our unmet needs -- and feel free to share your own ideas. + +### Graphic design + +We can barely begin to list the contributions a graphic designer can make here. Our docs are parched for illustration; our growing website craves images -- opportunities abound. + +### Translating website content + +We plan multiple translations of [numpy.org](https://numpy.org) to make NumPy accessible to users in their native language. Volunteer translators are at the heart of this effort. See [here](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) for background; comment on [this GitHub issue](https://github.com/numpy/numpy.org/issues/55) to sign up. + +### Community coordination and outreach + +Through community contact we share our work more widely and learn where we're falling short. We're eager to get more people involved in efforts like our [Twitter](https://twitter.com/numpy_team) account, organizing NumPy [code sprints](https://scisprints.github.io/), a newsletter, and perhaps a blog. + +### Fundraising + +For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. [This SciPy'19 talk](https://www.youtube.com/watch?v=dBTJD_FDVjU) explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here -- we'd appreciate your help. + +### Donate + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/fr/gethelp.md b/content/fr/gethelp.md new file mode 100644 index 0000000000..da3bff67a5 --- /dev/null +++ b/content/fr/gethelp.md @@ -0,0 +1,20 @@ +--- +title: Get Help +sidebar: false +--- + +**Development issues:** For NumPy development-related matters (e.g., bug reports), please see [Community](/community). + +**User questions:** The best way to get help is to post your question to a site like [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) or [Reddit](https://www.reddit.com/r/Numpy/). We wish we could keep an eye on these sites, or answer questions directly, but the volume is a little overwhelming! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +A forum for asking usage questions, e.g. "How do I do X in NumPy?”. Please [use the `#numpy` tag](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +Another forum for usage questions. + +*** diff --git a/content/fr/history.md b/content/fr/history.md new file mode 100644 index 0000000000..aa669d375b --- /dev/null +++ b/content/fr/history.md @@ -0,0 +1,21 @@ +--- +title: History of NumPy +sidebar: false +--- + +NumPy is a foundational Python library that provides array data structures and related fast numerical routines. When started, the library had little funding, and was written mainly by graduate students—many of them without computer science education, and often without a blessing of their advisors. To even imagine that a small group of “rogue” student programmers could upend the already well-established ecosystem of research software—backed by millions in funding and many hundreds of highly qualified engineers — was preposterous. Yet, the philosophical motivations behind a fully open tool stack, in combination with the excited, friendly community with a singular focus, have proven auspicious in the long run. Nowadays, NumPy is relied upon by scientists, engineers, and many other professionals around the world. For example, the published scripts used in the analysis of gravitational waves import NumPy, and the M87 black hole imaging project directly cites NumPy. + +For the in-depth account on milestones in the development of NumPy and related libraries please see [arxiv.org](https://arxiv.org/abs/1907.10121). + +If you’d like to obtain a copy of the original Numeric and Numarray libraries, follow the links below: + +[Download Page for *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[Download Page for *Numarray*](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*Please note that these older array packages are no longer maintained, and users are strongly advised to use NumPy for any array-related purposes or refactor any pre-existing code to utilize the NumPy library. + +### Historic Documentation + +[Download *`Numeric'* Manual](static/numeric-manual.pdf) + diff --git a/content/fr/install.md b/content/fr/install.md new file mode 100644 index 0000000000..f64a17841d --- /dev/null +++ b/content/fr/install.md @@ -0,0 +1,126 @@ +--- +title: Installing NumPy +sidebar: false +--- + +The only prerequisite for installing NumPy is Python itself. If you don't have Python yet and want the simplest way to get started, we recommend you use the [Anaconda Distribution](https://www.anaconda.com/download) - it includes Python, NumPy, and many other commonly used packages for scientific computing and data science. + +NumPy can be installed with `conda`, with `pip`, with a package manager on macOS and Linux, or [from source](https://numpy.org/devdocs/building). For more detailed instructions, consult our [Python and NumPy installation guide](#python-numpy-install-guide) below. + +**CONDA** + +If you use `conda`, you can install NumPy from the `defaults` or `conda-forge` channels: + +```bash +# Best practice, use an environment rather than install in the base env +conda create -n my-env +conda activate my-env +# If you want to install from conda-forge +conda config --env --add channels conda-forge +# The actual install command +conda install numpy +``` + +**PIP** + +If you use `pip`, you can install NumPy with: + +```bash +pip install numpy +``` +Also when using pip, it's good practice to use a virtual environment - see [Reproducible Installs](#reproducible-installs) below for why, and [this guide](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) for details on using virtual environments. + + + + +# Python and NumPy installation guide + +Installing and managing packages in Python is complicated, there are a number of alternative solutions for most tasks. This guide tries to give the reader a sense of the best (or most popular) solutions, and give clear recommendations. It focuses on users of Python, NumPy, and the PyData (or numerical computing) stack on common operating systems and hardware. + +## Recommendations + +We'll start with recommendations based on the user's experience level and operating system of interest. If you're in between "beginning" and "advanced", please go with "beginning" if you want to keep things simple, and with "advanced" if you want to work according to best practices that go a longer way in the future. + +### Beginning users + +On all of Windows, macOS, and Linux: + +- Install [Anaconda](https://www.anaconda.com/download) (it installs all packages you need and all other tools mentioned below). +- For writing and executing code, use notebooks in [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) for exploratory and interactive computing, and [Spyder](https://www.spyder-ide.org/) or [Visual Studio Code](https://code.visualstudio.com/) for writing scripts and packages. +- Use [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) to manage your packages and start JupyterLab, Spyder, or Visual Studio Code. + + +### Advanced users + +#### Conda + +- Install [Miniforge](https://github.com/conda-forge/miniforge). +- Keep the `base` conda environment minimal, and use one or more [conda environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) to install the package you need for the task or project you're working on. + +#### Alternative if you prefer pip/PyPI + +For users who know, from personal preference or reading about the main differences between conda and pip below, they prefer a pip/PyPI-based solution, we recommend: +- Install Python from [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/), or your Linux package manager. +- Use [Poetry](https://python-poetry.org/) as the most well-maintained tool that provides a dependency resolver and environment management capabilities in a similar fashion as conda does. + + +## Python package management + +Managing packages is a challenging problem, and, as a result, there are lots of tools. For web and general purpose Python development there's a whole [host of tools](https://packaging.python.org/guides/tool-recommendations/) complementary with pip. For high-performance computing (HPC), [Spack](https://github.com/spack/spack) is worth considering. For most NumPy users though, [conda](https://conda.io/en/latest/) and [pip](https://pip.pypa.io/en/stable/) are the two most popular tools. + + +### Pip & conda + +The two main tools that install Python packages are `pip` and `conda`. Their functionality partially overlaps (e.g. both can install `numpy`), however, they can also work together. We'll discuss the major differences between pip and conda here - this is important to understand if you want to manage packages effectively. + +The first difference is that conda is cross-language and it can install Python, while pip is installed for a particular Python on your system and installs other packages to that same Python install only. This also means conda can install non-Python libraries and tools you may need (e.g. compilers, CUDA, HDF5), while pip can't. + +The second difference is that pip installs from the Python Packaging Index (PyPI), while conda installs from its own channels (typically "defaults" or "conda-forge"). PyPI is the largest collection of packages by far, however, all popular packages are available for conda as well. + +The third difference is that conda is an integrated solution for managing packages, dependencies and environments, while with pip you may need another tool (there are many!) for dealing with environments or complex dependencies. + + + +### Reproducible installs + +As libraries get updated, results from running your code can change, or your code can break completely. It's important to be able to reconstruct the set of packages and versions you're using. Best practice is to: + +1. use a different environment per project you're working on, +2. record package names and versions using your package installer; each has its own metadata format for this: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [virtual environments](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy packages & accelerated linear algebra libraries + +NumPy doesn't depend on any other Python packages, however, it does depend on an accelerated linear algebra library - typically [Intel MKL](https://software.intel.com/en-us/mkl) or [OpenBLAS](https://www.openblas.net/). Users don't have to worry about installing those (they're automatically included in all NumPy install methods). Power users may still want to know the details, because the used BLAS can affect performance, behavior and size on disk: + +- The NumPy wheels on PyPI, which is what pip installs, are built with OpenBLAS. The OpenBLAS libraries are included in the wheel. This makes the wheel larger, and if a user installs (for example) SciPy as well, they will now have two copies of OpenBLAS on disk. + +- In the conda defaults channel, NumPy is built against Intel MKL. MKL is a separate package that will be installed in the users' environment when they install NumPy. + +- In the conda-forge channel, NumPy is built against a dummy "BLAS" package. When a user installs NumPy from conda-forge, that BLAS package then gets installed together with the actual library - this defaults to OpenBLAS, but it can also be MKL (from the defaults channel), or even [BLIS](https://github.com/flame/blis) or reference BLAS. + +- The MKL package is a lot larger than OpenBLAS, it's about 700 MB on disk while OpenBLAS is about 30 MB. + +- MKL is typically a little faster and more robust than OpenBLAS. + +Besides install sizes, performance and robustness, there are two more things to consider: + +- Intel MKL is not open source. For normal use this is not a problem, but if a user needs to redistribute an application built with NumPy, this could be an issue. +- Both MKL and OpenBLAS will use multi-threading for function calls like `np.dot`, with the number of threads being determined by both a build-time option and an environment variable. Often all CPU cores will be used. This is sometimes unexpected for users; NumPy itself doesn't auto-parallelize any function calls. It typically yields better performance, but can also be harmful - for example when using another level of parallelization with Dask, scikit-learn or multiprocessing. + + +## Troubleshooting + +If your installation fails with the message below, see [Troubleshooting ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html). + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for +different reasons, often due to issues with your setup. +``` + diff --git a/content/fr/learn.md b/content/fr/learn.md new file mode 100644 index 0000000000..4f9fa53ae3 --- /dev/null +++ b/content/fr/learn.md @@ -0,0 +1,76 @@ +--- +title: Learn +sidebar: false +--- + +For the **official NumPy documentation** visit [numpy.org/doc/stable](https://numpy.org/doc/stable). + +*** + +Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community. + +## Beginners + +There's a ton of information about NumPy out there. If you are just starting, we'd strongly recommend the following: + + **Tutorials** + +* [NumPy Quickstart Tutorial](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). +* [NumPy Illustrated: The Visual Guide to NumPy *by Lev Maximov*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://lectures.scientific-python.org/) Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem. +* [NumPy: the absolute basics for beginners](https://numpy.org/devdocs/user/absolute_beginners.html) +* [NumPy tutorial *by Nicolas Rougier*](https://github.com/rougier/numpy-tutorial) +* [Stanford CS231 *by Justin Johnson*](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy User Guide](https://numpy.org/devdocs) + + **Books** + +* [Guide to NumPy *by Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) This is a free version 1 from 2006. For the latest copy (2015) see [here](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1144670472). +* [From Python to NumPy *by Nicolas P. Rougier*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [Elegant SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) *by Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow* + +You may also want to check out the [Goodreads list](https://www.goodreads.com/shelf/show/python-scipy) on the subject of "Python+SciPy." Most books there are about the "SciPy ecosystem," which has NumPy at its core. + + **Videos** + +* [Introduction to Numerical Computing with NumPy](http://youtu.be/ZB7BZMhfPgk) *by Alex Chabot-Leclerc* + +*** + +## Advanced + +Try these advanced resources for a better understanding of NumPy concepts like advanced indexing, splitting, stacking, linear algebra, and more. + + **Tutorials** + +* [100 NumPy Exercises](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) *by Nicolas P. Rougier* +* [An Introduction to NumPy and Scipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) *by M. Scott Shell* +* [Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) *by Stéfan van der Walt* +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). + + **Books** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1098121228) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X) *by Wes McKinney* +* [Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) *by Robert Johansson* + + **Videos** + +* [Advanced NumPy - broadcasting rules, strides, and advanced indexing](https://www.youtube.com/watch?v=cYugp9IN1-Q) *by Juan Nunez-Iglesias* + +*** + +## NumPy Talks + +* [The Future of NumPy Indexing](https://www.youtube.com/watch?v=o0EacbIbf58) *by Jaime Fernández* (2016) +* [Evolution of Array Computing in Python](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) *by Ralf Gommers* (2019) +* [NumPy: what has changed and what is going to change?](https://www.youtube.com/watch?v=YFLVQFjRmPY) *by Matti Picus* (2019) +* [Inside NumPy](https://www.youtube.com/watch?v=dBTJD_FDVjU) *by Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris* (2019) +* [Brief Review of Array Computing in Python](https://www.youtube.com/watch?v=f176j2g2eNc) *by Travis Oliphant* (2019) + +*** + +## Citing NumPy + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, please see [this citation information](/citing-numpy). diff --git a/content/fr/news.md b/content/fr/news.md new file mode 100644 index 0000000000..ef4ceee0dd --- /dev/null +++ b/content/fr/news.md @@ -0,0 +1,307 @@ +--- +title: News +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2024-08-18 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0.0 released + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 release date: June 16 + +_23 May, 2024_ -- We are excited to announce that NumPy 2.0 is planned to be released on June 16, 2024. This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains **breaking changes** to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy `2.0.0rc2`. **Please see the following for more details:** + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUS end of the year fundraiser +_Dec 19, 2023_ -- NumFOCUS has teamed up with PyCharm during their EOY campaign to offer a 30% discount on first-time PyCharm licenses. All year-one revenue from PyCharm purchases from now until December 23rd, 2023 will go directly to the NumFOCUS programs. + +Use unique URL that will allow to track purchases https://lp.jetbrains.com/support-data-science/ or a coupon code ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 released + +_Sep 16, 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) is now available. The highlights of the release are: + +* Python 3.12.0 support. +* Cython 3.0.0 compatibility. +* Use of the Meson build system +* Updated SIMD support +* f2py fixes, meson and bind(x) support +* Support for the updated Accelerate BLAS/LAPACK library + +The NumPy 1.26.0 release is a continuation of the 1.25.x series that marks the transition to the Meson build system and provision of support for Cython 3.0.0. A total of 20 people contributed to this release and 59 pull requests were merged. + +The Python versions supported by this release are 3.9-3.12. + +### numpy.org is now available in Japanese and Portuguese + +_Aug 2, 2023_ -- numpy.org is now available in 2 additional languages: Japanese and Portuguese. This wouldn’t be possible without our dedicated volunteers: + +_Portuguese:_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japanese:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +The work on the translation infrastructure is supported with funding from CZI. + +Looking ahead, we’d love to translate the website into more languages. If you’d like to help, please connect with the NumPy Translations Team on Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Look for the #translations channel.) We are also building a Translations Team who will be working on localizing documentation and educational content across the Scientific Python ecosystem. If this piqued your interest, join us on the Scientific Python Discord: https://discord.gg/khWtqY6RKr. (Look for the #translation channel.) + +### NumPy 1.25.0 released + +_Jun 17, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) is now available. The highlights of the release are: + +* Support for MUSL, there are now MUSL wheels. +* Support for the Fujitsu C/C++ compiler. +* Object arrays are now supported in einsum. +* Support for the inplace matrix multiplication (`@=`). + +The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been preparatory work for the future NumPy 2.0.0, resulting in a large number of new and expired deprecations. + +A total of 148 people contributed to this release and 530 pull requests were merged. + +The Python versions supported by this release are 3.9-3.11. + +### Fostering an Inclusive Culture: Call for Participation + +_May 10, 2023_ -- Fostering an Inclusive Culture: Call for Participation + +How can we be better when it comes to diversity and inclusion? Read the report and find out how to get involved [here](https://contributor-experience.org/docs/posts/dei-report/). + +### NumPy documentation team leadership transition + +_Jan 6, 2023_ –- Mukulika Pahari and Ross Barnowski are appointed as the new NumPy documentation team leads replacing Melissa Mendonça. We thank Melissa for all her contributions to the NumPy official documentation and educational materials, and Mukulika and Ross for stepping up. + +### NumPy 1.24.0 released + +_Dec 18, 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) is now available. The highlights of the release are: + +* New "dtype" and "casting" keywords for stacking functions. +* New F2PY features and fixes. +* Many new deprecations, check them out. +* Many expired deprecations, + +The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase execution speed, and clarify the documentation. There are a large number of new and expired deprecations due to changes in dtype promotion and cleanups. It is the work of 177 contributors spread over 444 pull requests. The supported Python versions are 3.8-3.11. + +### Numpy 1.23.0 released + +_Jun 22, 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) is now available. The highlights of the release are: + +* Implementation of `loadtxt` in C, greatly improving its performance. +* Exposure of DLPack at the Python level for easy data exchange. +* Changes to the promotion and comparisons of structured dtypes. +* Improvements to f2py. + +The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. It is the work of 151 contributors spread over 494 pull requests. The Python versions supported by this release 3.8-3.10. Python 3.11 will be supported when it reaches the rc stage. + +### NumFOCUS DEI research study: call for participation + +_Apr 13, 2022_ -- NumPy is working with [NumFOCUS](http://numfocus.org/) on a [research project](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) funded by the [Gordon & Betty Moore Foundation](https://www.moore.org/) to understand the barriers to participation that contributors, particularly those from historically underrepresented groups, face in the open-source software community. The research team would like to talk to new contributors, project developers and maintainers, and those who have contributed in the past about their experiences joining and contributing to NumPy. + +**Interested in sharing your experiences?** + +Please complete this brief [“Participant Interest” form](https://numfocus.typeform.com/to/WBWVJSqe) which contains additional information on the research goals, privacy, and confidentiality considerations. Your participation will be valuable to the growth and sustainability of diverse and inclusive open-source software communities. Accepted participants will participate in a 30-minute interview with a research team member. + +### Numpy 1.22.0 release + +_Dec 31, 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) is now available. The highlights of the release are: + +* Type annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release. +* A preliminary version of the proposed [array API Standard](https://data-apis.org/array-api/latest/) is provided (see [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). This is a step in creating a standard collection of functions that can be used across libraries such as CuPy and JAX. +* NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data. +* New methods for `quantile`, `percentile`, and related functions. The new methods provide a complete set of the methods commonly found in the literature. +* The universal functions have been refactored to implement most of [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html). This also unlocks the ability to experiment with the future DType API. +* A new configurable memory allocator for use by downstream projects. + +NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. The Python versions supported by this release are 3.8-3.10. + +### Advancing an inclusive culture in the scientific Python ecosystem + +_August 31, 2021_ -- We are happy to announce the Chan Zuckerberg Initiative has [awarded a grant](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) to support the onboarding, inclusion, and retention of people from historically marginalized groups on scientific Python projects, and to structurally improve the community dynamics for NumPy, SciPy, Matplotlib, and Pandas. + +As a part of [CZI's Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/), this [Diversity & Inclusion supplemental grant](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) will support the creation of dedicated Contributor Experience Lead positions to identify, document, and implement practices to foster inclusive open-source communities. This project will be led by Melissa Mendonça (NumPy), with additional mentorship and guidance provided by Ralf Gommers (NumPy, SciPy), Hannah Aizenman and Thomas Caswell (Matplotlib), Matt Haberland (SciPy), and Joris Van den Bossche (Pandas). + +This is an ambitious project aiming to discover and implement activities that should structurally improve the community dynamics of our projects. By establishing these new cross-project roles, we hope to introduce a new collaboration model to the Scientific Python communities, allowing community-building work within the ecosystem to be done more efficiently and with greater outcomes. We also expect to develop a clearer picture of what works and what doesn't in our projects to engage and retain new contributors, especially from historically underrepresented groups. Finally, we plan on producing detailed reports on the actions executed, explaining how they have impacted our projects in terms of representation and interaction with our communities. + +The two-year project is expected to start by November 2021, and we are excited to see the results from this work! [You can read the full proposal here](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### 2021 NumPy survey + +_July 12, 2021_ -- At NumPy, we believe in the power of our community. 1,236 NumPy users from 75 countries participated in our inaugural survey last year. The survey findings gave us a very good understanding of what we should focus on for the next 12 months. + +It’s time for another survey, and we are counting on you once again. It will take about 15 minutes of your time. Besides English, the survey questionnaire is available in 8 additional languages: Bangla, French, Hindi, Japanese, Mandarin, Portuguese, Russian, and Spanish. + +Follow the link to get started: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Numpy 1.21.0 release + +_Jun 23, 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) is now available. The highlights of the release are: + +- continued SIMD work covering more functions and platforms, +- initial work on the new dtype infrastructure and casting, +- universal2 wheels for Python 3.8 and Python 3.9 on Mac, +- improved documentation, +- improved annotations, +- new `PCG64DXSM` bitgenerator for random numbers. + +This NumPy release is the result of 581 merged pull requests contributed by 175 people. The Python versions supported for this release are 3.7-3.9, support for Python 3.10 will be added after Python 3.10 is released. + + +### 2020 NumPy survey results + +_Jun 22, 2021_ -- In 2020, the NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results here: https://numpy.org/user-survey-2020/. + + +### Numpy 1.20.0 release + +_Jan 30, 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) is now available. This is the largest NumPy release to date, thanks to 180+ contributors. The two most exciting new features are: +- Type annotations for large parts of NumPy, and a new `numpy.typing` submodule containing `ArrayLike` and `DtypeLike` aliases that users and downstream libraries can use when adding type annotations in their own code. +- Multi-platform SIMD compiler optimizations, with support for x86 (SSE, AVX), ARM64 (Neon), and PowerPC (VSX) instructions. This yielded significant performance improvements for many functions (examples: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversity in the NumPy project + +_Sep 20, 2020_ -- We wrote a [statement on the state of, and discussion on social media around, diversity and inclusion in the NumPy project](/diversity_sep2020). + + +### First official NumPy paper published in Nature! + +_Sep 16, 2020_ -- We are pleased to announce the publication of [the first official paper on NumPy](https://www.nature.com/articles/s41586-020-2649-2) as a review article in Nature. This comes 14 years after the release of NumPy 1.0. The paper covers applications and fundamental concepts of array programming, the rich scientific Python ecosystem built on top of NumPy, and the recently added array protocols to facilitate interoperability with external array and tensor libraries like CuPy, Dask, and JAX. + + +### Python 3.9 is coming, when will NumPy release binary wheels? + +_Sept 14, 2020_ -- Python 3.9 will be released in a few weeks. If you are an early adopter of Python versions, you may be dissapointed to find that NumPy (and other binary packages like SciPy) will not have binary wheels ready on the day of the release. It is a major effort to adapt the build infrastructure to a new Python version and it typically takes a few weeks for the packages to appear on PyPI and conda-forge. In preparation for this event, please make sure to +- update your `pip` to version 20.1 at least to support `manylinux2010` and `manylinux2014` +- use [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) or `--only-binary=:all:` to prevent `pip` from trying to build from source. + + +### Numpy 1.19.2 release + +_Sep 10, 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) is now available. This latest release in the 1.19 series fixes several bugs, prepares for the [upcoming Cython 3.x release](http://docs.cython.org/en/latest/src/changes.html) and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros. + +### The inaugural NumPy survey is live! + +_Jul 2, 2020_ -- This survey is meant to guide and set priorities for decision-making about the development of NumPy as software and as a community. The survey is available in 8 additional languages besides English: Bangla, Hindi, Japanese, Mandarin, Portuguese, Russian, Spanish and French. + +Please help us make NumPy better and take the survey [here](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy has a new logo! + +_Jun 24, 2020_ -- NumPy now has a new logo: + +NumPy logo + +The logo is a modern take on the old one, with a cleaner design. Thanks to Isabela Presedo-Floyd for designing the new logo, as well as to Travis Vaught for the old logo that served us well for 15+ years. + + +### NumPy 1.19.0 release + +_Jun 20, 2020_ -- NumPy 1.19.0 is now available. This is the first release without Python 2 support, hence it was a "clean-up release". The minimum supported Python version is now Python 3.6. An important new feature is that the random number generation infrastructure that was introduced in NumPy 1.17.0 is now accessible from Cython. + + +### Season of Docs acceptance + +_May 11, 2020_ -- NumPy has been accepted as one of the mentor organizations for the Google Season of Docs program. We are excited about the opportunity to work with a technical writer to improve NumPy's documentation once again! For more details, please see [the official Season of Docs site](https://developers.google.com/season-of-docs/) and our [ideas page](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### NumPy 1.18.0 release + +_Dec 22, 2019_ -- NumPy 1.18.0 is now available. After the major changes in 1.17.0, this is a consolidation release. It is the last minor release that will support Python 3.5. Highlights of the release includes the addition of basic infrastructure for linking with 64-bit BLAS and LAPACK libraries, and a new C-API for `numpy.random`. + +Please see the [release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0) for more details. + + +### NumPy receives a grant from the Chan Zuckerberg Initiative + +_Nov 15, 2019_ -- We are pleased to announce that NumPy and OpenBLAS, one of NumPy's key dependencies, have received a joint grant for $195,000 from the Chan Zuckerberg Initiative through their [Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/) that supports software maintenance, growth, development, and community engagement for open source tools critical to science. + +This grant will be used to ramp up the efforts in improving NumPy documentation, website redesign, and community development to better serve our large and rapidly growing user base, and ensure the long-term sustainability of the project. While the OpenBLAS team will focus on addressing sets of key technical issues, in particular thread-safety, AVX-512, and thread-local storage (TLS) issues, as well as algorithmic improvements in ReLAPACK (Recursive LAPACK) on which OpenBLAS depends. + +More details on our proposed initiatives and deliverables can be found in the [full grant proposal](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). The work is scheduled to start on Dec 1st, 2019 and continue for the next 12 months. + + + + +## Releases + +Here is a list of NumPy releases, with links to release notes. Bugfix releases (only the `z` changes in the `x.y.z` version number) have no new features; minor releases (the `y` increases) do. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 Feb 2024_. +- NumPy 1.26.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 Jan 2024_. +- NumPy 1.26.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 Nov 2023_. +- NumPy 1.26.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 Oct 2023_. +- NumPy 1.26.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 Sep 2023_. +- NumPy 1.25.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 Jul 2023_. +- NumPy 1.25.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 Jul 2023_. +- NumPy 1.24.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 Jun 2023_. +- NumPy 1.25.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 Jun 2023_. +- NumPy 1.24.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 Apr 2023_. +- NumPy 1.24.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 Feb 2023_. +- NumPy 1.24.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 Dec 2022_. +- NumPy 1.24.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 Dec 2022_. +- NumPy 1.23.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _19 Nov 2022_. +- NumPy 1.23.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 Oct 2022_. +- NumPy 1.23.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 Sep 2022_. +- NumPy 1.23.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 Aug 2022_. +- NumPy 1.23.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 Jul 2022_. +- NumPy 1.23.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 Jun 2022_. +- NumPy 1.22.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 May 2022_. +- NumPy 1.21.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 Apr 2022_. +- NumPy 1.22.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 Mar 2022_. +- NumPy 1.22.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 Feb 2022_. +- NumPy 1.22.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 Jan 2022_. +- NumPy 1.22.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _31 Dec 2021_. +- NumPy 1.21.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _19 Dec 2021_. +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 Jun 2021_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 May 2021_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 Jan 2021_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 Jan 2021_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 Jun 2020_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 May 2020_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 Jan 2020_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 Dec 2019_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 Jul 2019_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 Jul 2018_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 Jan 2018_. diff --git a/content/fr/press-kit.md b/content/fr/press-kit.md new file mode 100644 index 0000000000..2c8970bb29 --- /dev/null +++ b/content/fr/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press kit +sidebar: false +--- + +We would like to make it easy for you to include the NumPy project identity in your next academic paper, course materials, or presentation. + +You will find several high-resolution versions of the NumPy logo [here](https://github.com/numpy/numpy/tree/main/branding/logo). Note that by using the numpy.org resources, you accept the [NumPy Code of Conduct](/code-of-conduct). diff --git a/content/fr/privacy.md b/content/fr/privacy.md new file mode 100644 index 0000000000..6064e4c4f1 --- /dev/null +++ b/content/fr/privacy.md @@ -0,0 +1,8 @@ +--- +title: Privacy Policy +sidebar: false +--- + +**numpy.org** is operated by [NumFOCUS, Inc.](https://numfocus.org), the fiscal sponsor of the NumPy project. For the Privacy Policy of this website please refer to https://numfocus.org/privacy-policy. + +If you have any questions about the policy or NumFOCUS’s data collection, use, and disclosure practices, please contact the NumFOCUS staff at privacy@numfocus.org. diff --git a/content/fr/report-handling-manual.md b/content/fr/report-handling-manual.md new file mode 100644 index 0000000000..5586668cba --- /dev/null +++ b/content/fr/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: NumPy Code of Conduct - How to follow up on a report +sidebar: false +--- + +This is the manual followed by NumPy’s Code of Conduct Committee. It’s used when we respond to an issue to make sure we’re consistent and fair. + +Enforcing the [Code of Conduct](/code-of-conduct) impacts our community today and for the future. It’s an action that we do not take lightly. When reviewing enforcement measures, the Code of Conduct Committee will keep the following values and guidelines in mind: + +* Act in a personal manner rather than impersonal. The Committee can engage the parties to understand the situation while respecting the privacy and any necessary confidentiality of reporters. However, sometimes it is necessary to communicate with one or more individuals directly: the Committee’s goal is to improve the health of our community rather than only produce a formal decision. +* Emphasize empathy for individuals rather than judging behavior, avoiding binary labels of “good” and “bad/evil”. Overt, clear-cut aggression and harassment exist, and we will address them firmly. But many scenarios that can prove challenging to resolve are those where normal disagreements devolve into unhelpful or harmful behavior from multiple parties. Understanding the full context and finding a path that re-engages all is hard, but ultimately the most productive for our community. +* We understand that email is a difficult medium and can be isolating. Receiving criticism over email, without personal contact, can be particularly painful. This makes it especially important to keep an atmosphere of open-minded respect for the views of others. It also means that we must be transparent in our actions, and that we will do everything in our power to make sure that all our members are treated fairly and with sympathy. +* Discrimination can be subtle and it can be unconscious. It can show itself as unfairness and hostility in otherwise ordinary interactions. We know that this does occur, and we will take care to look out for it. We would very much like to hear from you if you feel you have been treated unfairly, and we will use these procedures to make sure that your complaint is heard and addressed. +* Help increase engagement in good discussion practice: try to identify where discussion may have broken down, and provide actionable information, pointers, and resources that can lead to positive change on these points. +* Be mindful of the needs of new members: provide them with explicit support and consideration, with the aim of increasing participation from underrepresented groups in particular. +* Individuals come from different cultural backgrounds and native languages. Try to identify any honest misunderstandings caused by a non-native speaker and help them understand the issue and what they can change to avoid causing offence. Complex discussion in a foreign language can be very intimidating, and we want to grow our diversity also across nationalities and cultures. + + +## Mediation + +Voluntary informal mediation is a tool at our disposal. In contexts such as when two or more parties have all escalated to the point of inappropriate behavior (something sadly common in human conflict), it may be useful to facilitate a mediation process. This is only an example: the Committee can consider mediation in any case, mindful that the process is meant to be strictly voluntary and no party can be pressured to participate. If the Committee suggests mediation, it should: + +* Find a candidate who can serve as a mediator. +* Obtain the agreement of the reporter(s). The reporter(s) have complete freedom to decline the mediation idea or to propose an alternate mediator. +* Obtain the agreement of the reported person(s). +* Settle on the mediator: while parties can propose a different mediator than the suggested candidate, only if a common agreement is reached on all terms can the process move forward. +* Establish a timeline for mediation to complete, ideally within two weeks. + +The mediator will engage with all the parties and seek a resolution that is satisfactory to all. Upon completion, the mediator will provide a report (vetted by all parties to the process) to the Committee, with recommendations on further steps. The Committee will then evaluate these results (whether a satisfactory resolution was achieved or not) and decide on any additional action deemed necessary. + + +## How the Committee will respond to reports + +When the Committee (or a Committee member) receives a report, they will first determine whether the report is about a clear and severe breach (as defined below). If so, immediate action needs to be taken in addition to the regular report handling process. + + +## Clear and severe breach actions + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We will deal quickly with clear and severe breaches like personal threats, violent, sexist or racist language. + +When a member of the Code of Conduct Committee becomes aware of a clear and severe breach, they will do the following: + +* Immediately disconnect the originator from all NumPy communication channels. +* Reply to the reporter that their report has been received and that the originator has been disconnected. +* In every case, the moderator should make a reasonable effort to contact the originator, and tell them specifically how their language or actions qualify as a “clear and severe breach”. The moderator should also say that, if the originator believes this is unfair or they want to be reconnected to NumPy, they have the right to ask for a review, as below, by the Code of Conduct Committee. The moderator should copy this explanation to the Code of Conduct Committee. +* The Code of Conduct Committee will formally review and sign off on all cases where this mechanism has been applied to make sure it is not being used to control ordinary heated disagreement. + + +## Report handling + +When a report is sent to the Committee they will immediately reply to the reporter to confirm receipt. This reply must be sent within 72 hours, and the group should strive to respond much quicker than that. + +If a report doesn’t contain enough information, the Committee will obtain all relevant data before acting. The Committee is empowered to act on the Steering Council’s behalf in contacting any individuals involved to get a more complete account of events. + +The Committee will then review the incident and determine, to the best of their ability: + +* What happened. +* Whether this event constitutes a Code of Conduct violation. +* Who are the responsible party(ies). +* Whether this is an ongoing situation, and there is a threat to anyone’s physical safety. + +This information will be collected in writing, and whenever possible the group’s deliberations will be recorded and retained (i.e. chat transcripts, email discussions, recorded conference calls, summaries of voice conversations, etc). + +It is important to retain an archive of all activities of this Committee to ensure consistency in behavior and provide institutional memory for the project. To assist in this, the default channel of discussion for this Committee will be a private mailing list accessible to current and future members of the Committee as well as members of the Steering Council upon justified request. If the Committee finds the need to use off-list communications (e.g. phone calls for early/rapid response), it should in all cases summarize these back to the list so there’s a good record of the process. + +The Code of Conduct Committee should aim to have a resolution agreed upon within two weeks. In the event that a resolution can’t be determined in that time, the Committee will respond to the reporter(s) with an update and projected timeline for resolution. + + +## Resolutions + +The Committee must agree on a resolution by consensus. If the group cannot reach consensus and deadlocks for over a week, the group will turn the matter over to the Steering Council for resolution. + +Possible responses may include: + +* Taking no further action: + - if we determine no violations have occurred; + - if the matter has been resolved publicly while the Committee was considering responses. +* Coordinating voluntary mediation: if all involved parties agree, the Committee may facilitate a mediation process as detailed above. +* Remind publicly, and point out that some behavior/actions/language have been judged inappropriate and why in the current context, or can but hurtful to some people, requesting the community to self-adjust. +* A private reprimand from the Committee to the individual(s) involved. In this case, the group chair will deliver that reprimand to the individual(s) over email, cc’ing the group. +* A public reprimand. In this case, the Committee chair will deliver that reprimand in the same venue that the violation occurred, within the limits of practicality. E.g., the original mailing list for an email violation, but for a chat room discussion where the person/context may be gone, they can be reached by other means. The group may choose to publish this message elsewhere for documentation purposes. +* A request for a public or private apology, assuming the reporter agrees to this idea: they may at their discretion refuse further contact with the violator. The chair will deliver this request. The Committee may, if it chooses, attach “strings” to this request: for example, the group may ask a violator to apologize in order to retain one’s membership on a mailing list. +* A “mutually agreed upon hiatus” where the Committee asks the individual to temporarily refrain from community participation. If the individual chooses not to take a temporary break voluntarily, the Committee may issue a “mandatory cooling off period”. +* A permanent or temporary ban from some or all NumPy spaces (mailing lists, gitter.im, etc.). The group will maintain records of all such bans so that they may be reviewed in the future or otherwise maintained. + +Once a resolution is agreed upon, but before it is enacted, the Committee will contact the original reporter and any other affected parties and explain the proposed resolution. The Committee will ask if this resolution is acceptable, and must note feedback for the record. + +Finally, the Committee will make a report to the NumPy Steering Council (as well as the NumPy core team in the event of an ongoing resolution, such as a ban). + +The Committee will never publicly discuss the issue; all public statements will be made by the chair of the Code of Conduct Committee or the NumPy Steering Council. + + +## Conflicts of Interest + +In the event of any conflict of interest, a Committee member must immediately notify the other members, and recuse themselves if necessary. diff --git a/content/fr/tabcontents.yaml b/content/fr/tabcontents.yaml new file mode 100644 index 0000000000..d74cba9bce --- /dev/null +++ b/content/fr/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + arraylibraries: + intro: + - + text: NumPy's API is the starting point when libraries are written to exploit innovative hardware, create specialized array types, or add capabilities beyond what NumPy provides. + headers: + - + text: Array Library + - + text: Capabilities & Application areas + libraries: + - + title: Dask + text: Distributed arrays and advanced parallelism for analytics, enabling performance at scale. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: NumPy-compatible array library for GPU-accelerated computing with Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.dev + - + title: JAX + text: "Composable transformations of NumPy programs: differentiate, vectorize, just-in-time compilation to GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: NumPy-compatible sparse array library that integrates with Dask and SciPy's sparse linear algebra. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: Deep learning framework that accelerates the path from research prototyping to production deployment. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: An end-to-end platform for machine learning to easily build and deploy ML powered applications. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: A cross-language development platform for columnar in-memory data and analytics. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://arrow.apache.org/ + - + title: xtensor + text: Multi-dimensional arrays with broadcasting and lazy computing for numerical analysis. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipulate JSON-like data with NumPy-like idioms. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: Python backend system that decouples API from implementation; unumpy provides a NumPy API. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: Nearly every scientist working in Python draws on the power of NumPy. + - + text: "NumPy brings the computational power of languages like C and Fortran to Python, a language much easier to learn and use. With this power comes simplicity: a solution in NumPy is often clear and elegant." + libraries: + - + title: Quantum Computing + alttext: A computer chip. + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: Statistical Computing + alttext: A line graph with the line moving up. + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: Image Processing + alttext: An photograph of the mountains. + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy + alttext: A telescope. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: Cognitive Psychology + alttext: A human head with gears. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: Bioinformatics + alttext: A strand of DNA. + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: Bayesian Inference + alttext: A graph with a bell-shaped curve. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: Mathematical Analysis + alttext: Four mathematical symbols. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: Chemistry + alttext: A test tube. + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: Geoscience + alttext: The Earth. + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: Geographic Processing + alttext: A map. + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: Architecture & Engineering + alttext: A microprocessor development board. + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy lies at the core of a rich ecosystem of data science libraries. A typical exploratory data science workflow might look like:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Diagram of Python Libraries. The five catagories are 'Extract, Transform, Load', 'Data Exploration', 'Data Modeling', 'Data Evaluation' and 'Data Presentation'. + image2: + - + img: /images/content_images/data-science.png + alttext: Diagram of three overlapping circles. The circles are labeled 'Mathematics', 'Computer Science' and 'Domain Expertise'. In the middle of the diagram, which has the three circles overlapping it, is an area labeled 'Data Science'. + examples: + - + text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor-devs.github.io/pyjanitor/)" + - + text: "Exploratory analysis: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "Model and evaluate: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Report in a dashboard: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://voila.readthedocs.io/)" + content: + - + text: For high data volumes, [Dask](https://dask.org) and [Ray](https://ray.io/) are designed to scale. Stable deployments rely on data versioning ([DVC](https://dvc.org)), experiment tracking ([MLFlow](https://mlflow.org)), and workflow automation ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) and [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: A streamplot made in matplotlib + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: A scatter-plot graph made in ggpy + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: A box-plot made in plotly + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + content: + - + text: NumPy is an essential component in the burgeoning [Python visualization landscape](https://pyviz.org/overviews/index.html), which includes [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://napari.org/), and [PyVista](https://docs.pyvista.org/), to name a few. + - + text: NumPy's accelerated processing of large arrays allows researchers to visualize datasets far larger than native Python could handle. diff --git a/content/fr/teams/index.md b/content/fr/teams/index.md new file mode 100644 index 0000000000..1baaaa35ab --- /dev/null +++ b/content/fr/teams/index.md @@ -0,0 +1,36 @@ +--- +title: NumPy Teams +sidebar: false +--- + +We are an international team on a mission to support scientific and research +communities worldwide by building quality, open-source software. +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# Governance + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/fr/user-survey-2020.md b/content/fr/user-survey-2020.md new file mode 100644 index 0000000000..b4349bcb7d --- /dev/null +++ b/content/fr/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: 2020 NUMPY COMMUNITY SURVEY +sidebar: false +--- + +In 2020, the NumPy survey team in partnership with students and faculty from a Master’s course in Survey Methodology jointly hosted by the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Over 1,200 users from 75 countries participated to help us map out a landscape of the NumPy community and voiced their thoughts about the future of the project. + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 NumPy user survey report, titled "NumPy Community Survey 2020 - results"' width = '250' +{{< /figure >}} + +**[Download the report](/surveys/NumPy_usersurvey_2020_report.pdf)** to take a closer look at the survey findings. + + +For the highlights, check out **[this infographic](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**. + +Ready for a deep dive? Visit **https://numpy.org/user-survey-2020-details/**. + diff --git a/content/fr/user-surveys.md b/content/fr/user-surveys.md new file mode 100644 index 0000000000..89a2aa0460 --- /dev/null +++ b/content/fr/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: NUMPY USER SURVEYS +sidebar: false +--- + +**2020** The NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results [here](https://numpy.org/user-survey-2020/). + +**2021** The collected data is currently being analyzed. + +If you have any questions or suggestions for the past or future surveys, please open an issue [here](https://github.com/numpy/numpy-surveys/issues). diff --git a/content/hi/404.md b/content/hi/404.md new file mode 100644 index 0000000000..da192c53c0 --- /dev/null +++ b/content/hi/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +Oops! You've reached a dead end. + +If you think something should be here, you can [open an issue](https://github.com/numpy/numpy.org/issues) on GitHub. diff --git a/content/hi/_index.md b/content/hi/_index.md new file mode 100644 index 0000000000..be88f9e642 --- /dev/null +++ b/content/hi/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Powerful N-dimensional arrays' +body = ''' +Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. +''' + +[[item]] +type = 'card' +title = 'Numerical computing tools' +body = ''' +NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. +''' + +[[item]] +type = 'card' +title = 'Open source' +body = ''' +Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. +''' + +[[item]] +type = 'card' +title = 'Performant' +body = ''' +The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. +''' + +[[item]] +type = 'card' +title = 'Easy to use' +body = ''' +NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. +''' + +{{< /grid>}} diff --git a/content/hi/about.md b/content/hi/about.md new file mode 100644 index 0000000000..243f7083ae --- /dev/null +++ b/content/hi/about.md @@ -0,0 +1,90 @@ +--- +title: About Us +sidebar: false +--- + +NumPy is an open source project that enables numerical computing with Python. It was created in 2005 building on the early work of the Numeric and Numarray libraries. NumPy will always be 100% open source software and free for all to use. It is released under the liberal terms of the [modified BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +NumPy is developed in the open on GitHub, through the consensus of the NumPy and wider scientific Python community. For more information on our governance approach, please see our [Governance Document](https://www.numpy.org/devdocs/dev/governance/index.html). + + +## Steering Council + +The NumPy Steering Council is the project's governing body. Its role is to ensure, through working with and serving the broader NumPy community, the long-term sustainability of the project, both as a software package and community. The NumPy Steering Council currently consists of the following members (in alphabetical order, by last name): + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Melissa Weber Mendonça +- Eric Wieser + +Emeritus: + +- Alex Griffing (2015-2017) +- Allan Haldane (2015-2021) +- Marten van Kerkwijk (2017-2019) +- Travis Oliphant (project founder, 2005-2012) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Jaime Fernández del Río (2014-2021) +- Pauli Virtanen (2008-2021) + +To contact the NumPy Steering Council, please email numpy-team@googlegroups.com. + +## Teams + +The NumPy project leadership is actively working on diversifying contribution pathways to the project.
NumPy currently has the following teams: + +- development +- documentation +- triage +- website +- survey +- translations +- sprint mentors +- optimization +- funding and grants + +See the [Team](/teams) page for more info. + +## NumFOCUS Subcommittee + +- Charles Harris +- Ralf Gommers +- Inessa Pawson +- Sebastian Berg +- External member: Thomas Caswell + +## Sponsors + +NumPy receives direct funding from the following sources: +{{< sponsors >}} + + +## Institutional Partners + +Institutional Partners are organizations that support the project by employing people that contribute to NumPy as part of their job. Current Institutional Partners include: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## Donate + +If you have found NumPy useful in your work, research, or company, please consider a donation to the project commensurate with your resources. Any amount helps! All donations will be used strictly to fund the development of NumPy’s open source software, documentation, and community. + +NumPy is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States. NumFOCUS provides NumPy with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Visit [numfocus.org](https://numfocus.org) for more information. + +Donations to NumPy are managed by [NumFOCUS](https://numfocus.org). For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax advisor about your particular tax situation. + +NumPy's Steering Council will make the decisions on how to best use any funds received. Technical and infrastructure priorities are documented on the [NumPy Roadmap](https://www.numpy.org/neps/index.html#roadmap). + +{{}} + diff --git a/content/hi/arraycomputing.md b/content/hi/arraycomputing.md new file mode 100644 index 0000000000..abd29d11c1 --- /dev/null +++ b/content/hi/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: Array Computing +sidebar: false +--- + +*Array computing is the foundation of statistical, mathematical, scientific computing in various contemporary data science and analytics applications such as data visualization, digital signal processing, image processing, bioinformatics, machine learning, AI, and several others.* + +Large scale data manipulation and transformation depends on efficient, high-performance array computing. The language of choice for data analytics, machine learning, and productive numerical computing is **Python.** + +**Num**erical **Py**thon or NumPy is its de-facto standard Python programming language library that supports large, multi-dimensional arrays and matrices, and comes with a vast collection of high-level mathematical functions to operate on these arrays. + +Since the launch of NumPy in 2006, Pandas appeared on the landscape in 2008, and it was not until a couple of years ago that several array computing libraries showed up in succession, crowding the array computing landscape. Many of these newer libraries mimic NumPy-like features and capabilities, and pack newer algorithms and features geared towards machine learning and artificial intelligence applications. + +arraycl + +**Array computing** is based on **arrays** data structures. *Arrays* are used to organize vast amounts of data such that a related set of values can be easily sorted, searched, mathematically manipulated, and transformed easily and quickly. + +Array computing is *unique* as it involves operating on the data array *at once*. What this means is that any array operation applies to an entire set of values in one shot. This vectorized approach provides speed and simplicity by enabling programmers to code and operate on aggregates of data, without having to use loops of individual scalar operations. diff --git a/content/hi/case-studies/blackhole-image.md b/content/hi/case-studies/blackhole-image.md new file mode 100644 index 0000000000..22334ebed0 --- /dev/null +++ b/content/hi/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "Case Study: First Image of a Black Hole" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## A telescope the size of the earth + +The [Event Horizon telescope (EHT)](https://eventhorizontelescope.org) is an array of eight ground-based radio telescopes forming a computational telescope the size of the earth, studing the universe with unprecedented sensitivity and resolution. The huge virtual telescope, which uses a technique called very-long-baseline interferometry (VLBI), has an angular resolution of [20 micro-arcseconds][resolution] — enough to read a newspaper in New York from a sidewalk café in Paris! + +### Key Goals and Results + +* **A New View of the Universe:** The groundwork for the EHT's groundbreaking image had been laid 100 years earlier when [Sir Arthur Eddington][eddington] yielded the first observational support of Einstein's theory of general relativity. + +* **The Black Hole:** EHT was trained on a supermassive black hole approximately 55 million light-years from Earth, lying at the center of the galaxy Messier 87 (M87) in the Virgo galaxy cluster. Its mass is 6.5 billion times the Sun's. It had been studied for [over 100 years](https://www.jpl.nasa.gov/news/news.php?feature=7385), but never before had a black hole been visually observed. + +* **Comparing Observations to Theory:** From Einstein’s general theory of relativity, scientists expected to find a shadow-like region caused by gravitational bending and capture of light. Scientists could use it to measure the black hole's enormous mass. + +### The Challenges + +* **Computational scale** + + EHT poses massive data-processing challenges, including rapid atmospheric phase fluctuations, large recording bandwidth, and telescopes that are widely dissimilar and geographically dispersed. + +* **Too much information** + + Each day EHT generates over 350 terabytes of observations, stored on helium-filled hard drives. Reducing the volume and complexity of this much data is enormously difficult. + +* **Into the unknown** + + When the goal is to see something never before seen, how can scientists be confident the image is correct? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT Data Processing Pipeline' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## NumPy’s Role + +What if there's a problem with the data? Or perhaps an algorithm relies too heavily on a particular assumption. Will the image change drastically if a single parameter is changed? + +The EHT collaboration met these challenges by having independent teams evaluate the data, using both established and cutting-edge image reconstruction techniques. When results proved consistent, they were combined to yield the first-of-a-kind image of the black hole. + +Their work illustrates the role the scientific Python ecosystem plays in advancing science through collaborative data analysis. + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'The role of NumPy in Black Hole imaging' +{{< /figure >}} + +For example, the [`eht-imaging`][ehtim] Python package provides tools for simulating and performing image reconstruction on VLBI data. NumPy is at the core of array data processing used in this package, as illustrated by the partial software dependency chart below. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Software dependency chart of ehtim package highlighting NumPy' +{{< /figure >}} + +Besides NumPy, many other packages, such as [SciPy](https://www.scipy.org) and [Pandas](https://pandas.io), are part of the data processing pipeline for imaging the black hole. The standard astronomical file formats and time/coordinate transformations were handled by [Astropy][astropy], while [Matplotlib][mpl] was used in visualizing data throughout the analysis pipeline, including the generation of the final image of the black hole. + +## Summary + +The efficient and adaptable n-dimensional array that is NumPy's central feature enabled researchers to manipulate large numerical datasets, providing a foundation for the first-ever image of a black hole. A landmark moment in science, it gives stunning visual evidence of Einstein’s theory. The achievement encompasses not only technological breakthroughs but also international collaboration among over 200 scientists and some of the world's best radio observatories. Innovative algorithms and data processing techniques, improving upon existing astronomical models, helped unfold a mystery of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/hi/case-studies/cricket-analytics.md b/content/hi/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..d0be271f50 --- /dev/null +++ b/content/hi/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "Case Study: Cricket Analytics, the game changer!" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, the biggest Cricket Festival in India' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## About Cricket + +It would be an understatement to state that Indians love cricket. The game is played in just about every nook and cranny of India, rural or urban, popular with the young and the old alike, connecting billions in India unlike any other sport. Cricket enjoys lots of media attention. There is a significant amount of [money](https://www.statista.com/topics/4543/indian-premier-league-ipl/) and fame at stake. Over the last several years, technology has literally been a game changer. Audiences are spoilt for choice with streaming media, tournaments, affordable access to mobile based live cricket watching, and more. + +The Indian Premier League (IPL) is a professional Twenty20 cricket league, founded in 2008. It is one of the most attended cricketing events in the world, valued at [$6.7 billion](https://en.wikipedia.org/wiki/Indian_Premier_League) in 2019. + +Cricket is a game of numbers - the runs scored by a batsman, the wickets taken by a bowler, the matches won by a cricket team, the number of times a batsman responds in a certain way to a kind of bowling attack, etc. The capability to dig into cricketing numbers for both improving performance and studying the business opportunities, overall market, and economics of cricket via powerful analytics tools, powered by numerical computing software such as NumPy, is a big deal. Cricket analytics provides interesting insights into the game and predictive intelligence regarding game outcomes. + +Today, there are rich and almost infinite troves of cricket game records and statistics available, e.g., [ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) and [cricsheet](https://cricsheet.org). These and several such cricket databases have been used for [cricket analysis](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances) using the latest machine learning and predictive modelling algorithms. Media and entertainment platforms along with professional sports bodies associated with the game use technology and analytics for determining key metrics for improving match winning chances: + +* batting performance moving average, +* score forecasting, +* gaining insights into fitness and performance of a player against different opposition, +* player contribution to wins and losses for making strategic decisions on team composition + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Cricket Pitch, the focal point in the field' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### Key Data Analytics Objectives + +* Sports data analytics are used not only in cricket but many [other sports](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) for improving the overall team performance and maximizing winning chances. +* Real-time data analytics can help in gaining insights even during the game for changing tactics by the team and by associated businesses for economic benefits and growth. +* Besides historical analysis, predictive models are harnessed to determine the possible match outcomes that require significant number crunching and data science know-how, visualization tools and capability to include newer observations in the analysis. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'Cricket Pose Estimator' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### The Challenges + +* **Data Cleaning and preprocessing** + + IPL has expanded cricket beyond the classic test match format to a much larger scale. The number of matches played every season across various formats has increased and so has the data, the algorithms, newer sports data analysis technologies and simulation models. Cricket data analysis requires field mapping, player tracking, ball tracking, player shot analysis, and several other aspects involved in how the ball is delivered, its angle, spin, velocity, and trajectory. All these factors together have increased the complexity of data cleaning and preprocessing. + +* **Dynamic Modeling** + + In cricket, just like any other sport, there can be a large number of variables related to tracking various numbers of players on the field, their attributes, the ball, and several possibilities of potential actions. The complexity of data analytics and modeling is directly proportional to the kind of predictive questions that are put forth during analysis and are highly dependent on data representation and the model. Things get even more challenging in terms of computation, data comparisons when dynamic cricket play predictions are sought such as what would have happened if the batsman had hit the ball at a different angle or velocity. + +* **Predictive Analytics Complexity** + + Much of the decision making in cricket is based on questions such as "how often does a batsman play a certain kind of shot if the ball delivery is of a particular type", or "how does a bowler change his line and length if the batsman responds to his delivery in a certain way". This kind of predictive analytics query requires highly granular dataset availability and the capability to synthesize data and create generative models that are highly accurate. + +## NumPy’s Role in Cricket Analytics + +Sports Analytics is a thriving field. Many researchers and companies [use NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) and other PyData packages like Scikit-learn, SciPy, Matplotlib, and Jupyter, besides using the latest machine learning and AI techniques. NumPy has been used for various kinds of cricket related sporting analytics such as: + +* **Statistical Analysis:** NumPy's numerical capabilities help estimate the statistical significance of observational data or match events in the context of various player and game tactics, estimating the game outcome by comparison with a generative or static model. [Causal analysis](https://amplitude.com/blog/2017/01/19/causation-correlation) and [big data approaches](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) are used for tactical analysis. + +* **Data Visualization:** Data graphing and [visualization](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) provide useful insights into relationship between various datasets. + +## Summary + +Sports Analytics is a game changer when it comes to how professional games are played, especially how strategic decision making happens, which until recently was primarily done based on “gut feeling" or adherence to past traditions. NumPy forms a solid foundation for a large set of Python packages which provide higher level functions related to data analytics, machine learning, and AI algorithms. These packages are widely deployed to gain real-time insights that help in decision making for game-changing outcomes, both on field as well as to draw inferences and drive business around the game of cricket. Finding out the hidden parameters, patterns, and attributes that lead to the outcome of a cricket match helps the stakeholders to take notice of game insights that are otherwise hidden in numbers and statistics. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagram showing benefits of using NumPy for cricket analytics' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/hi/case-studies/deeplabcut-dnn.md b/content/hi/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..257905de91 --- /dev/null +++ b/content/hi/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "Case Study: DeepLabCut 3D Pose Estimation" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analyzing mice hand-movement using DeepLapCut' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Open Source Software is accelerating Biomedicine. DeepLabCut enables automated video analysis of animal behavior using Deep Learning. +> +> {{< /blockquote >}} + +## About DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) is an open source toolbox that empowers researchers at hundreds of institutions worldwide to track behaviour of laboratory animals, with very little training data, at human-level accuracy. With DeepLabCut technology, scientists can delve deeper into the scientific understanding of motor control and behavior across animal species and timescales. + +Several areas of research, including neuroscience, medicine, and biomechanics, use data from tracking animal movement. DeepLabCut helps in understanding what humans and other animals are doing by parsing actions that have been recorded on film. Using automation for laborious tasks of tagging and monitoring, along with deep neural network based data analysis, DeepLabCut makes scientific studies involving observing animals, such as primates, mice, fish, flies etc., much faster and more accurate. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Colored dots track the positions of a racehorse’s body part' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' +{{< /figure >}} + +DeepLabCut's non-invasive behavioral tracking of animals by extracting the poses of animals is crucial for scientific pursuits in domains such as biomechanics, genetics, ethology & neuroscience. Measuring animal poses non-invasively from video - without markers - in dynamically changing backgrounds is computationally challenging, both technically as well as in terms of resource needs and training data required. + +DeepLabCut allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior through a Python based software toolkit. With DeepLabCut, researchers can identify distinct frames from videos, digitally label specific body parts in a few dozen frames with a tailored GUI, and then the deep learning based pose estimation architectures in DeepLabCut learn how to pick out those same features in the rest of the video and in other similar videos of animals. It works across species of animals, from common laboratory animals such as flies and mice to more unusual animals like [cheetahs][cheetah-movement]. + +DeepLabCut uses a principle called [transfer learning](https://arxiv.org/pdf/1909.11229), which greatly reduces the amount of training data required and speeds up the convergence of the training period. Depending on the needs, users can pick different network architectures that provide faster inference (e.g. MobileNetV2), which can also be combined with real-time experimental feedback. DeepLabCut originally used the feature detectors from a top-performing human pose estimation architecture, called [DeeperCut](https://arxiv.org/abs/1605.03170), which inspired the name. The package now has been significantly changed to include additional architectures, augmentation methods, and a full front-end user experience. Furthermore, to support large-scale biological experiments DeepLabCut provides active learning capabilities so that users can increase the training set over time to cover edge cases and make their pose estimation algorithm robust within the specific context. + +Recently, the [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) was introduced, which provides pre-trained models for various species and experimental conditions from facial analysis in primates to dog posture. This can be run for instance in the cloud without any labeling of new data, or neural network training, and no programming experience is necessary. + +### Key Goals and Results + +* **Automation of animal pose analysis for scientific studies:** + + The primary objective of DeepLabCut technology is to measure and track posture of animals in a diverse settings. This data can be used, for example, in neuroscience studies to understand how the brain controls movement, or to elucidate how animals socially interact. Researchers have observed a [tenfold performance boost](https://www.biorxiv.org/content/10.1101/457242v1) with DeepLabCut. Poses can be inferred offline at up to 1200 frames per second (FPS). + +* **Creation of an easy-to-use Python toolkit for pose estimation:** + + DeepLabCut wanted to share their animal pose-estimation technology in the form of an easy to use tool that can be adopted by researchers easily. So they have created a complete, easy-to-use Python toolbox with project management features as well. These enable not only automation of pose-estimation but also managing the project end-to-end by helping the DeepLabCut Toolkit user right from the dataset collection stage to creating shareable and reusable analysis pipelines. + + Their [toolkit][DLCToolkit] is now available as open source. + + A typical DeepLabCut Workflow includes: + + - creation and refining of training sets via active learning + - creation of tailored neural networks for specific animals and scenarios + - code for large-scale inference on videos + - draw inferences using integrated visualization tools + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pose estimation steps with DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +{{< /figure >}} + +### The Challenges + +* **Speed** + + Fast processing of animal behavior videos in order to measure their behavior and at the same time make scientific experiments more efficient, accurate. Extracting detailed animal poses for laboratory experiments, without markers, in dynamically changing backgrounds, can be challenging, both technically as well as in terms of resource needs and training data required. Coming up with a tool that is easy to use without the need for skills such as computer vision expertise that enables scientists to do research in more real-world contexts, is a non-trivial problem to solve. + +* **Combinatorics** + + Combinatorics involves assembly and integration of movement of multiple limbs into individual animal behavior. Assembling keypoints and their connections into individual animal movements and linking them across time is a complex process that requires heavy-duty numerical analysis, especially in case of multi-animal movement tracking in experiment videos. + +* **Data Processing** + + Last but not the least, array manipulation - processing large stacks of arrays corresponding to various images, target tensors and keypoints is fairly challenging. + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Pose estimation variety and complexity' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## NumPy's Role in meeting Pose Estimation Challenges + +NumPy addresses DeepLabCut technology's core need of numerical computations at high speed for behavioural analytics. Besides NumPy, DeepLabCut employs various Python software that utilize NumPy at their core, such as [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) and [Tensorflow](https://www.tensorflow.org). + +The following features of NumPy played a key role in addressing the image processing, combinatorics requirements and need for fast computation in DeepLabCut pose estimation algorithms: + +* Vectorization +* Masked Array Operations +* Linear Algebra +* Random Sampling +* Reshaping of large arrays + +DeepLabCut utilizes NumPy’s array capabilities throughout the workflow offered by the toolkit. In particular, NumPy is used for sampling distinct frames for human annotation labeling, and for writing, editing and processing annotation data. Within TensorFlow the neural network is trained by DeepLabCut technology over thousands of iterations to predict the ground truth annotations from frames. For this purpose, target densities (scoremaps) are created to cast pose estimation as a image-to-image translation problem. To make the neural networks robust, data augmentation is employed, which requires the calculation of target scoremaps subject to various geometric and image processing steps. To make training fast, NumPy’s vectorization capabilities are leveraged. For inference, the most likely predictions from target scoremaps need to extracted and one needs to efficiently “link predictions to assemble individual animals”. + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut Workflow' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## Summary + +Observing and efficiently describing behavior is a core tenant of modern ethology, neuroscience, medicine, and technology. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior. With only a small set of training images, the DeepLabCut Python toolbox allows training a neural network to within human level labeling accuracy, thus expanding its application to not only behavior analysis in the laboratory, but to potentially also in sports, gait analysis, medicine and rehabilitation studies. Complex combinatorics, data processing challenges faced by DeepLabCut algorithms are addressed through the use of NumPy's array manipulation capabilities. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/hi/case-studies/gw-discov.md b/content/hi/case-studies/gw-discov.md new file mode 100644 index 0000000000..08f54b7547 --- /dev/null +++ b/content/hi/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "Case Study: Discovery of Gravitational Waves" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Gravitational Waves' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## About [Gravitational Waves](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) and [LIGO](https://www.ligo.caltech.edu) + +Gravitational waves are ripples in the fabric of space and time, generated by cataclysmic events in the universe such as collision and merging of two black holes or coalescing binary stars or supernovae. Observing GW can not only help in studying gravity but also in understanding some of the obscure phenomena in the distant universe and its impact. + +The [Laser Interferometer Gravitational-Wave Observatory (LIGO)](https://www.ligo.caltech.edu) was designed to open the field of gravitational-wave astrophysics through the direct detection of gravitational waves predicted by Einstein’s General Theory of Relativity. It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. Each of them has multi-kilometer-scale gravitational wave detectors that use laser interferometry. The LIGO Scientific Collaboration (LSC), is a group of more than 1000 scientists from universities around the United States and in 14 other countries supported by more than 90 universities and research institutes; approximately 250 students actively contributing to the collaboration. The new LIGO discovery is the first observation of gravitational waves themselves, made by measuring the tiny disturbances the waves make to space and time as they pass through the earth. It has opened up new astrophysical frontiers that explore the warped side of the universe—objects and phenomena that are made from warped spacetime. + + +### Key Objectives + +* Though its [mission](https://www.ligo.caltech.edu/page/what-is-ligo) is to detect gravitational waves from some of the most violent and energetic processes in the Universe, the data LIGO collects may have far-reaching effects on many areas of physics including gravitation, relativity, astrophysics, cosmology, particle physics, and nuclear physics. +* Crunch observed data via numerical relativity computations that involves complex maths in order to discern signal from noise, filter out relevant signal and statistically estimate significance of observed data +* Data visualization so that the binary / numerical results can be comprehended. + + + +### The Challenges + +* **Computation** + + Gravitational Waves are hard to detect as they produce a very small effect and have tiny interaction with matter. Processing and analyzing all of LIGO's data requires a vast computing infrastructure.After taking care of noise, which is billions of times of the signal, there is still very complex relativity equations and huge amounts of data which present a computational challenge: [O(10^7) CPU hrs needed for binary merger analyses](https://youtu.be/7mcHknWWzNI) spread on 6 dedicated LIGO clusters + +* **Data Deluge** + + As observational devices become more sensitive and reliable, the challenges posed by data deluge and finding a needle in a haystack rise multi-fold. LIGO generates terabytes of data every day! Making sense of this data requires an enormous effort for each and every detection. For example, the signals being collected by LIGO must be matched by supercomputers against hundreds of thousands of templates of possible gravitational-wave signatures. + +* **Visualization** + + Once the obstacles related to understanding Einstein’s equations well enough to solve them using supercomputers are taken care of, the next big challenge was making data comprehensible to the human brain. Simulation modeling as well as signal detection requires effective visualization techniques. Visualization also plays a role in lending more credibility to numerical relativity in the eyes of pure science aficionados, who did not give enough importance to numerical relativity until imaging and simulations made it easier to comprehend results for a larger audience. Speed of complex computations and rendering, re-rendering images and simulations using latest experimental inputs and insights can be a time consuming activity that challenges researchers in this domain. + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Estimated gravitational-wave strain amplitude from GW150914' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## NumPy’s Role in the Detection of Gravitational Waves + +Gravitational waves emitted from the merger cannot be computed using any technique except brute force numerical relativity using supercomputers. The amount of data LIGO collects is as incomprehensibly large as gravitational wave signals are small. + +NumPy, the standard numerical analysis package for Python, was utilized by the software used for various tasks performed during the GW detection project at LIGO. NumPy helped in solving complex maths and data manipulation at high speed. Here are some examples: + +* [Signal Processing](https://www.uv.es/virgogroup/Denoising_ROF.html): Glitch detection, [Noise identification and Data Characterization](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* Data retrieval: Deciding which data can be analyzed, figuring out whether it contains a signal - needle in a haystack +* Statistical analysis: estimate the statistical significance of observational data, estimating the signal parameters (e.g. masses of stars, spin velocity, and distance) by comparison with a model. +* Visualization of data + - Time series + - Spectrograms +* Compute Correlations +* Key [Software](https://github.com/lscsoft) developed in GW data analysis such as [GwPy](https://gwpy.github.io/docs/stable/overview.html) and [PyCBC](https://pycbc.org) uses NumPy and AstroPy under the hood for providing object based interfaces to utilities, tools, and methods for studying data from gravitational-wave detectors. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Dependency graph showing how GwPy package depends on NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Dependency graph showing how PyCBC package depends on NumPy' +{{< /figure >}} + +## Summary + +GW detection has enabled researchers to discover entirely unexpected phenomena while providing new insight into many of the most profound astrophysical phenomena known. Number crunching and data visualization is a crucial step that helps scientists gain insights into data gathered from the scientific observations and understand the results. The computations are complex and cannot be comprehended by humans unless it is visualized using computer simulations that are fed with the real observed data and analysis. NumPy along with other Python packages such as matplotlib, pandas, and scikit-learn is [enabling researchers](https://www.gw-openscience.org/events/GW150914/) to answer complex questions and discover new horizons in our understanding of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/hi/citing-numpy.md b/content/hi/citing-numpy.md new file mode 100644 index 0000000000..5bb5d791b4 --- /dev/null +++ b/content/hi/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: Citing NumPy +sidebar: false +--- + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing the following paper: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_In BibTeX format:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/hi/code-of-conduct.md b/content/hi/code-of-conduct.md new file mode 100644 index 0000000000..5ee1f4bcbe --- /dev/null +++ b/content/hi/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy Code of Conduct +sidebar: false +aliases: + - /conduct.html +--- + +### Introduction + +This Code of Conduct applies to all spaces managed by the NumPy project, including all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our community. The NumPy project does not organise in-person events, however events related to our community should have a code of conduct similar in spirit to this one. + +This Code of Conduct should be honored by everyone who participates in the NumPy community formally or informally, or claims any affiliation with the project, in any project-related activities and especially when representing the project, in any role. + +This code is not exhaustive or complete. It serves to distill our common understanding of a collaborative, shared environment and goals. Please try to follow this code in spirit as much as in letter, to create a friendly and productive environment that enriches the surrounding community. + +### Specific Guidelines + +We strive to: + +1. Be open. We invite anyone to participate in our community. We prefer to use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also ensures that any inadvertent mistakes in answering are more easily detected and corrected. +2. Be empathetic, welcoming, friendly, and patient. We work together to resolve conflict, and assume good intentions. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. +3. Be collaborative. Our work will be used by other people, and in turn we will depend on the work of others. When we make something for the benefit of the project, we are willing to explain to others how it works, so that they can build on the work to make it even better. Any decision we make will affect users and colleagues, and we take those consequences seriously when making decisions. +4. Be inquisitive. Nobody knows everything! Asking questions early avoids many problems later, so we encourage questions, although we may direct them to the appropriate forum. We will try hard to be responsive and helpful. +5. Be careful in the words that we choose. We are careful and respectful in our communication, and we take responsibility for our own speech. Be kind to others. Do not insult or put down other participants. We will not accept harassment or other exclusionary behaviour, such as: + * Violent threats or language directed against another person. + * Sexist, racist, or otherwise discriminatory jokes and language. + * Posting sexually explicit or violent material. + * Posting (or threatening to post) other people’s personally identifying information (“doxing”). + * Sharing private content, such as emails sent privately or non-publicly, or unlogged forums such as IRC channel history, without the sender’s consent. + * Personal insults, especially those using racist or sexist terms. + * Unwelcome sexual attention. + * Excessive profanity. Please avoid swearwords; people differ greatly in their sensitivity to swearing. + * Repeated harassment of others. In general, if someone asks you to stop, then stop. + * Advocating for, or encouraging, any of the above behaviour. + +### Diversity Statement + +The NumPy project welcomes and encourages participation by everyone. We are committed to being a community that everyone enjoys being part of. Although we may not always be able to accommodate each individual’s preferences, we try our best to treat everyone kindly. + +No matter how you identify yourself or how others perceive you: we welcome you. Though no list can hope to be comprehensive, we explicitly honour diversity in: age, culture, ethnicity, genotype, gender identity or expression, language, national origin, neurotype, phenotype, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, subculture and technical ability, to the extent that these do not conflict with this code of conduct. + +Though we welcome people fluent in all languages, NumPy development is conducted in English. + +Standards for behaviour in the NumPy community are detailed in the Code of Conduct above. Participants in our community should uphold these standards in all their interactions and help others to do so as well (see next section). + +### Reporting Guidelines + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We also recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this Code of Conduct. Please keep this in mind when deciding on how to respond to a breach of this Code. + +For clearly intentional breaches, report those to the Code of Conduct Committee (see below). For possibly unintentional breaches, you may reply to the person and point out this code of conduct (either in public or in private, whatever is most appropriate). If you would prefer not to do that, please feel free to report to the Code of Conduct Committee directly, or ask the Committee for advice, in confidence. + +You can report issues to the NumPy Code of Conduct Committee at numpy-conduct@googlegroups.com. + +Currently, the Committee consists of: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +If your report involves any members of the Committee, or if they feel they have a conflict of interest in handling it, then they will recuse themselves from considering your report. Alternatively, if for any reason you feel uncomfortable making a report to the Committee, then you can also contact senior NumFOCUS staff at [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### Incident reporting resolution & Code of Conduct enforcement + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](report-handling-manual). + +We will investigate and respond to all complaints. The NumPy Code of Conduct Committee and the NumPy Steering Committee (if involved) will protect the identity of the reporter, and treat the content of complaints as confidential (unless the reporter agrees otherwise). + +In case of severe and obvious breaches, e.g. personal threat or violent, sexist or racist language, we will immediately disconnect the originator from NumPy communication channels; please see the manual for details. + +In cases not involving clear severe and obvious breaches of this Code of Conduct the process for acting on any received Code of Conduct violation report will be: + +1. acknowledge report is received, +2. reasonable discussion/feedback, +3. mediation (if feedback didn’t help, and only if both reporter and reportee agree to this), +4. enforcement via transparent decision (see [Resolutions](report-handling-manual/#resolutions)) by the Code of Conduct Committee. + +The Committee will respond to any report as soon as possible, and at most within 72 hours. + +### Endnotes + +We are thankful to the groups behind the following documents, from which we drew content and inspiration: + +- [The SciPy Code of Conduct](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/hi/community.md b/content/hi/community.md new file mode 100644 index 0000000000..5034fba239 --- /dev/null +++ b/content/hi/community.md @@ -0,0 +1,66 @@ +--- +title: Community +sidebar: false +--- + +NumPy is a community-driven open source project developed by a diverse group of [contributors](/teams/). The NumPy leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read the [NumPy Code of Conduct](/code-of-conduct) for guidance on how to interact with others in a way that makes the community thrive. + +We offer several communication channels to learn, share your knowledge and connect with others within the NumPy community. + + +## Participate online + +The following are ways to engage directly with the NumPy project and community. _Please note that we encourage users and community members to support each other for usage questions - see [Get Help](/gethelp)._ + + +### [NumPy mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) + +This list is the main forum for longer-form discussions, like adding new features to NumPy, making changes to the NumPy Roadmap, and all kinds of project-wide decision making. Announcements about NumPy, such as for releases, developer meetings, sprints or conference talks are also made on this list. + +On this list please use bottom posting, reply to the list (rather than to another sender), and don't reply to digests. A searchable archive of this list is available [here](https://mail.python.org/archives/list/numpy-discussion@python.org/). + +*** + +### [GitHub issue tracker](https://github.com/numpy/numpy/issues) + +- For bug reports (e.g. "`np.arange(3).shape` returns `(5,)`, when it should return `(3,)`"); +- documentation issues (e.g. "I found this section unclear"); +- and feature requests (e.g. "I would like to have a new interpolation method in `np.percentile`"). + +_Please note that GitHub is not the right place to report a security vulnerability. If you think you have found a security vulnerability in NumPy, please report it [here](https://tidelift.com/docs/security)._ + +*** + +### [Slack](https://numpy-team.slack.com) + +A real-time chat room to ask questions about _contributing_ to NumPy. This is a private space, specifically meant for people who are hesitant to bring up their questions or ideas on a large public mailing list or GitHub. Please see [here](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) for more details and how to get an invite. + + +## Study Groups and Meetups + +If you would like to find a local meetup or study group to learn more about NumPy and the wider ecosystem of Python packages for data science and scientific computing, we recommend exploring the [PyData meetups](https://www.meetup.com/pro/pydata/) (150+ meetups, 100,000+ members). + +NumPy also organizes in-person sprints for its team and interested contributors occasionally. These are typically planned several months in advance and will be announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) and [Twitter](https://twitter.com/numpy_team). + + +## Conferences + +The NumPy project doesn't organize its own conferences. The conferences that have traditionally been most popular with NumPy maintainers, contributors and users are the SciPy and PyData conference series: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (15-20 events a year spread over many countries) + +Many of these conferences include tutorial days that cover NumPy and/or sprints where you can learn how to contribute to NumPy or related open source projects. + + +## Join the NumPy community + +To thrive, the NumPy project needs your expertise and enthusiasm. Not a coder? Not a problem! There are many ways to contribute to NumPy. + +If you are interested in becoming a NumPy contributor (yay!) we recommend checking out our [Contribute](/contribute) page. + +Also, feel free to stop by and say hi at one of our community meetings. To keep track of them, check out our events calendar [here](https://scientific-python.org/calendars/). diff --git a/content/hi/config.yaml b/content/hi/config.yaml new file mode 100644 index 0000000000..694aba3175 --- /dev/null +++ b/content/hi/config.yaml @@ -0,0 +1,137 @@ +languageName: English +params: + description: Why NumPy? Powerful n-dimensional arrays. Numerical computing tools. Interoperable. Performant. Open source. + navbarlogo: + image: logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: The fundamental package for scientific computing with Python + #Button text + buttontext: "Latest release: NumPy 2.0. View all releases" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: placeholder + intro: + - + title: Try NumPy + text: Use the interactive shell to try NumPy in the browser + docslink: Don't forget to check out the docs. + casestudies: + title: CASE STUDIES + features: + - + title: First Image of a Black Hole + text: How NumPy, together with libraries like SciPy and Matplotlib that depend on NumPy, enabled the Event Horizon Telescope to produce the first ever image of a black hole + img: /images/content_images/case_studies/blackhole.png + alttext: First image of a black hole. It is an orange circle in a black background. + url: /case-studies/blackhole-image + - + title: Detection of Gravitational Waves + text: In 1916, Albert Einstein predicted gravitational waves; 100 years later their existence was confirmed by LIGO scientists using NumPy. + img: /images/content_images/case_studies/gravitional.png + alttext: Two orbs orbiting each other. They are displacing gravity around them. + url: /case-studies/gw-discov + - + title: Sports Analytics + text: Cricket Analytics is changing the game by improving player and team performance through statistical modelling and predictive analytics. NumPy enables many of these analyses. + img: /images/content_images/case_studies/sports.jpg + alttext: Cricket ball on green field. + url: /case-studies/cricket-analytics + - + title: Pose Estimation using deep learning + text: DeepLabCut uses NumPy for accelerating scientific studies that involve observing animal behavior for better understanding of motor control, across species and timescales. + img: /images/content_images/case_studies/deeplabcut.png + alttext: Cheetah pose analysis + url: /case-studies/deeplabcut-dnn + tabs: + title: ECOSYSTEM + section5: false + navbar: + - + title: Install + url: /install + - + title: Documentation + url: https://numpy.org/doc/stable + - + title: Learn + url: /learn + - + title: Community + url: /community + - + title: About Us + url: /about + - + title: News + url: /news + - + title: Contribute + url: /contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: Install + link: /install + - + text: Documentation + link: https://numpy.org/doc/stable + - + text: Learn + link: /learn + - + text: Citing Numpy + link: /citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /about + - + text: Community + link: /community + - + text: User surveys + link: /user-surveys + - + text: Contribute + link: /contribute + - + text: Code of conduct + link: /code-of-conduct + column3: + links: + - + text: Get help + link: /gethelp + - + text: Terms of use + link: /terms + - + text: Privacy + link: /privacy + - + text: Press kit + link: /press-kit diff --git a/content/hi/contribute.md b/content/hi/contribute.md new file mode 100644 index 0000000000..0826a76184 --- /dev/null +++ b/content/hi/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribute to NumPy +sidebar: false +--- + +The NumPy project welcomes your expertise and enthusiasm! Your choices aren't limited to programming, as you can see below there are many areas where we need **your** help. + +If you're unsure where to start or how your skills fit in, _reach out!_ You can ask on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) or [GitHub](http://github.com/numpy/numpy) (open an [issue](https://github.com/numpy/numpy/issues) or comment on a relevant issue). + +Those are our preferred channels (open source is open by nature), but if you prefer to talk privately, contact our community coordinators at or on [Slack](https://numpy-team.slack.com) (write for an invite). + +We also have a biweekly _community call_, details of which are announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion). You are very welcome to join. If you are new to contributing to open source, we also highly recommend reading [this guide](https://opensource.guide/how-to-contribute/). + +Our community aspires to treat everyone equally and to value all contributions. We have a [Code of Conduct](/code-of-conduct) to foster an open and welcoming environment. + +### Writing code + +Programmers, this [guide](https://numpy.org/devdocs/dev/index.html#development-process-summary) explains how to contribute to the NumPy codebase.
Check out also our [YouTube channel](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) for additional advice. + +### Reviewing pull requests +The project has more than 250 open pull requests -- meaning many potential improvements and many open-source contributors waiting for feedback. If you're a developer who knows NumPy, you can help even if you're not familiar with the codebase. You can: +* summarize a long-running discussion +* triage documentation PRs +* test proposed changes + +### Developing educational materials + +NumPy's [User Guide](https://numpy.org/devdocs) is undergoing rehabilitation. We're in need of new tutorials, how-to's, and deep-dive explanations, and the site needs restructuring. Opportunities aren't limited to writers. We'd also welcome worked examples, notebooks, and videos. [NEP 44 — Restructuring the NumPyDocumentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) lays out our ideas -- and you may have others. + +### Issue triaging + +The [NumPy issue tracker](https://github.com/numpy/numpy/issues) has a _lot_ of open issues. Some are no longer valid, some should be prioritized, and some would make good issues for new contributors. You can: + +* check if older bugs are still present +* find duplicate issues and link related ones +* add good self-contained reproducers to issues +* label issues correctly (this requires triage rights -- just ask) + +Please just dive in. + +### Website development + +We've just revamped our website, but we're far from done. If you love web development, these [issues](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) list some of our unmet needs -- and feel free to share your own ideas. + +### Graphic design + +We can barely begin to list the contributions a graphic designer can make here. Our docs are parched for illustration; our growing website craves images -- opportunities abound. + +### Translating website content + +We plan multiple translations of [numpy.org](https://numpy.org) to make NumPy accessible to users in their native language. Volunteer translators are at the heart of this effort. See [here](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) for background; comment on [this GitHub issue](https://github.com/numpy/numpy.org/issues/55) to sign up. + +### Community coordination and outreach + +Through community contact we share our work more widely and learn where we're falling short. We're eager to get more people involved in efforts like our [Twitter](https://twitter.com/numpy_team) account, organizing NumPy [code sprints](https://scisprints.github.io/), a newsletter, and perhaps a blog. + +### Fundraising + +For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. [This SciPy'19 talk](https://www.youtube.com/watch?v=dBTJD_FDVjU) explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here -- we'd appreciate your help. + +### Donate + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/hi/gethelp.md b/content/hi/gethelp.md new file mode 100644 index 0000000000..da3bff67a5 --- /dev/null +++ b/content/hi/gethelp.md @@ -0,0 +1,20 @@ +--- +title: Get Help +sidebar: false +--- + +**Development issues:** For NumPy development-related matters (e.g., bug reports), please see [Community](/community). + +**User questions:** The best way to get help is to post your question to a site like [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) or [Reddit](https://www.reddit.com/r/Numpy/). We wish we could keep an eye on these sites, or answer questions directly, but the volume is a little overwhelming! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +A forum for asking usage questions, e.g. "How do I do X in NumPy?”. Please [use the `#numpy` tag](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +Another forum for usage questions. + +*** diff --git a/content/hi/history.md b/content/hi/history.md new file mode 100644 index 0000000000..aa669d375b --- /dev/null +++ b/content/hi/history.md @@ -0,0 +1,21 @@ +--- +title: History of NumPy +sidebar: false +--- + +NumPy is a foundational Python library that provides array data structures and related fast numerical routines. When started, the library had little funding, and was written mainly by graduate students—many of them without computer science education, and often without a blessing of their advisors. To even imagine that a small group of “rogue” student programmers could upend the already well-established ecosystem of research software—backed by millions in funding and many hundreds of highly qualified engineers — was preposterous. Yet, the philosophical motivations behind a fully open tool stack, in combination with the excited, friendly community with a singular focus, have proven auspicious in the long run. Nowadays, NumPy is relied upon by scientists, engineers, and many other professionals around the world. For example, the published scripts used in the analysis of gravitational waves import NumPy, and the M87 black hole imaging project directly cites NumPy. + +For the in-depth account on milestones in the development of NumPy and related libraries please see [arxiv.org](https://arxiv.org/abs/1907.10121). + +If you’d like to obtain a copy of the original Numeric and Numarray libraries, follow the links below: + +[Download Page for *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[Download Page for *Numarray*](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*Please note that these older array packages are no longer maintained, and users are strongly advised to use NumPy for any array-related purposes or refactor any pre-existing code to utilize the NumPy library. + +### Historic Documentation + +[Download *`Numeric'* Manual](static/numeric-manual.pdf) + diff --git a/content/hi/install.md b/content/hi/install.md new file mode 100644 index 0000000000..f64a17841d --- /dev/null +++ b/content/hi/install.md @@ -0,0 +1,126 @@ +--- +title: Installing NumPy +sidebar: false +--- + +The only prerequisite for installing NumPy is Python itself. If you don't have Python yet and want the simplest way to get started, we recommend you use the [Anaconda Distribution](https://www.anaconda.com/download) - it includes Python, NumPy, and many other commonly used packages for scientific computing and data science. + +NumPy can be installed with `conda`, with `pip`, with a package manager on macOS and Linux, or [from source](https://numpy.org/devdocs/building). For more detailed instructions, consult our [Python and NumPy installation guide](#python-numpy-install-guide) below. + +**CONDA** + +If you use `conda`, you can install NumPy from the `defaults` or `conda-forge` channels: + +```bash +# Best practice, use an environment rather than install in the base env +conda create -n my-env +conda activate my-env +# If you want to install from conda-forge +conda config --env --add channels conda-forge +# The actual install command +conda install numpy +``` + +**PIP** + +If you use `pip`, you can install NumPy with: + +```bash +pip install numpy +``` +Also when using pip, it's good practice to use a virtual environment - see [Reproducible Installs](#reproducible-installs) below for why, and [this guide](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) for details on using virtual environments. + + + + +# Python and NumPy installation guide + +Installing and managing packages in Python is complicated, there are a number of alternative solutions for most tasks. This guide tries to give the reader a sense of the best (or most popular) solutions, and give clear recommendations. It focuses on users of Python, NumPy, and the PyData (or numerical computing) stack on common operating systems and hardware. + +## Recommendations + +We'll start with recommendations based on the user's experience level and operating system of interest. If you're in between "beginning" and "advanced", please go with "beginning" if you want to keep things simple, and with "advanced" if you want to work according to best practices that go a longer way in the future. + +### Beginning users + +On all of Windows, macOS, and Linux: + +- Install [Anaconda](https://www.anaconda.com/download) (it installs all packages you need and all other tools mentioned below). +- For writing and executing code, use notebooks in [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) for exploratory and interactive computing, and [Spyder](https://www.spyder-ide.org/) or [Visual Studio Code](https://code.visualstudio.com/) for writing scripts and packages. +- Use [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) to manage your packages and start JupyterLab, Spyder, or Visual Studio Code. + + +### Advanced users + +#### Conda + +- Install [Miniforge](https://github.com/conda-forge/miniforge). +- Keep the `base` conda environment minimal, and use one or more [conda environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) to install the package you need for the task or project you're working on. + +#### Alternative if you prefer pip/PyPI + +For users who know, from personal preference or reading about the main differences between conda and pip below, they prefer a pip/PyPI-based solution, we recommend: +- Install Python from [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/), or your Linux package manager. +- Use [Poetry](https://python-poetry.org/) as the most well-maintained tool that provides a dependency resolver and environment management capabilities in a similar fashion as conda does. + + +## Python package management + +Managing packages is a challenging problem, and, as a result, there are lots of tools. For web and general purpose Python development there's a whole [host of tools](https://packaging.python.org/guides/tool-recommendations/) complementary with pip. For high-performance computing (HPC), [Spack](https://github.com/spack/spack) is worth considering. For most NumPy users though, [conda](https://conda.io/en/latest/) and [pip](https://pip.pypa.io/en/stable/) are the two most popular tools. + + +### Pip & conda + +The two main tools that install Python packages are `pip` and `conda`. Their functionality partially overlaps (e.g. both can install `numpy`), however, they can also work together. We'll discuss the major differences between pip and conda here - this is important to understand if you want to manage packages effectively. + +The first difference is that conda is cross-language and it can install Python, while pip is installed for a particular Python on your system and installs other packages to that same Python install only. This also means conda can install non-Python libraries and tools you may need (e.g. compilers, CUDA, HDF5), while pip can't. + +The second difference is that pip installs from the Python Packaging Index (PyPI), while conda installs from its own channels (typically "defaults" or "conda-forge"). PyPI is the largest collection of packages by far, however, all popular packages are available for conda as well. + +The third difference is that conda is an integrated solution for managing packages, dependencies and environments, while with pip you may need another tool (there are many!) for dealing with environments or complex dependencies. + + + +### Reproducible installs + +As libraries get updated, results from running your code can change, or your code can break completely. It's important to be able to reconstruct the set of packages and versions you're using. Best practice is to: + +1. use a different environment per project you're working on, +2. record package names and versions using your package installer; each has its own metadata format for this: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [virtual environments](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy packages & accelerated linear algebra libraries + +NumPy doesn't depend on any other Python packages, however, it does depend on an accelerated linear algebra library - typically [Intel MKL](https://software.intel.com/en-us/mkl) or [OpenBLAS](https://www.openblas.net/). Users don't have to worry about installing those (they're automatically included in all NumPy install methods). Power users may still want to know the details, because the used BLAS can affect performance, behavior and size on disk: + +- The NumPy wheels on PyPI, which is what pip installs, are built with OpenBLAS. The OpenBLAS libraries are included in the wheel. This makes the wheel larger, and if a user installs (for example) SciPy as well, they will now have two copies of OpenBLAS on disk. + +- In the conda defaults channel, NumPy is built against Intel MKL. MKL is a separate package that will be installed in the users' environment when they install NumPy. + +- In the conda-forge channel, NumPy is built against a dummy "BLAS" package. When a user installs NumPy from conda-forge, that BLAS package then gets installed together with the actual library - this defaults to OpenBLAS, but it can also be MKL (from the defaults channel), or even [BLIS](https://github.com/flame/blis) or reference BLAS. + +- The MKL package is a lot larger than OpenBLAS, it's about 700 MB on disk while OpenBLAS is about 30 MB. + +- MKL is typically a little faster and more robust than OpenBLAS. + +Besides install sizes, performance and robustness, there are two more things to consider: + +- Intel MKL is not open source. For normal use this is not a problem, but if a user needs to redistribute an application built with NumPy, this could be an issue. +- Both MKL and OpenBLAS will use multi-threading for function calls like `np.dot`, with the number of threads being determined by both a build-time option and an environment variable. Often all CPU cores will be used. This is sometimes unexpected for users; NumPy itself doesn't auto-parallelize any function calls. It typically yields better performance, but can also be harmful - for example when using another level of parallelization with Dask, scikit-learn or multiprocessing. + + +## Troubleshooting + +If your installation fails with the message below, see [Troubleshooting ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html). + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for +different reasons, often due to issues with your setup. +``` + diff --git a/content/hi/learn.md b/content/hi/learn.md new file mode 100644 index 0000000000..4f9fa53ae3 --- /dev/null +++ b/content/hi/learn.md @@ -0,0 +1,76 @@ +--- +title: Learn +sidebar: false +--- + +For the **official NumPy documentation** visit [numpy.org/doc/stable](https://numpy.org/doc/stable). + +*** + +Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community. + +## Beginners + +There's a ton of information about NumPy out there. If you are just starting, we'd strongly recommend the following: + + **Tutorials** + +* [NumPy Quickstart Tutorial](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). +* [NumPy Illustrated: The Visual Guide to NumPy *by Lev Maximov*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://lectures.scientific-python.org/) Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem. +* [NumPy: the absolute basics for beginners](https://numpy.org/devdocs/user/absolute_beginners.html) +* [NumPy tutorial *by Nicolas Rougier*](https://github.com/rougier/numpy-tutorial) +* [Stanford CS231 *by Justin Johnson*](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy User Guide](https://numpy.org/devdocs) + + **Books** + +* [Guide to NumPy *by Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) This is a free version 1 from 2006. For the latest copy (2015) see [here](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1144670472). +* [From Python to NumPy *by Nicolas P. Rougier*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [Elegant SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) *by Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow* + +You may also want to check out the [Goodreads list](https://www.goodreads.com/shelf/show/python-scipy) on the subject of "Python+SciPy." Most books there are about the "SciPy ecosystem," which has NumPy at its core. + + **Videos** + +* [Introduction to Numerical Computing with NumPy](http://youtu.be/ZB7BZMhfPgk) *by Alex Chabot-Leclerc* + +*** + +## Advanced + +Try these advanced resources for a better understanding of NumPy concepts like advanced indexing, splitting, stacking, linear algebra, and more. + + **Tutorials** + +* [100 NumPy Exercises](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) *by Nicolas P. Rougier* +* [An Introduction to NumPy and Scipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) *by M. Scott Shell* +* [Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) *by Stéfan van der Walt* +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). + + **Books** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1098121228) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X) *by Wes McKinney* +* [Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) *by Robert Johansson* + + **Videos** + +* [Advanced NumPy - broadcasting rules, strides, and advanced indexing](https://www.youtube.com/watch?v=cYugp9IN1-Q) *by Juan Nunez-Iglesias* + +*** + +## NumPy Talks + +* [The Future of NumPy Indexing](https://www.youtube.com/watch?v=o0EacbIbf58) *by Jaime Fernández* (2016) +* [Evolution of Array Computing in Python](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) *by Ralf Gommers* (2019) +* [NumPy: what has changed and what is going to change?](https://www.youtube.com/watch?v=YFLVQFjRmPY) *by Matti Picus* (2019) +* [Inside NumPy](https://www.youtube.com/watch?v=dBTJD_FDVjU) *by Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris* (2019) +* [Brief Review of Array Computing in Python](https://www.youtube.com/watch?v=f176j2g2eNc) *by Travis Oliphant* (2019) + +*** + +## Citing NumPy + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, please see [this citation information](/citing-numpy). diff --git a/content/hi/news.md b/content/hi/news.md new file mode 100644 index 0000000000..ef4ceee0dd --- /dev/null +++ b/content/hi/news.md @@ -0,0 +1,307 @@ +--- +title: News +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2024-08-18 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0.0 released + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 release date: June 16 + +_23 May, 2024_ -- We are excited to announce that NumPy 2.0 is planned to be released on June 16, 2024. This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains **breaking changes** to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy `2.0.0rc2`. **Please see the following for more details:** + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUS end of the year fundraiser +_Dec 19, 2023_ -- NumFOCUS has teamed up with PyCharm during their EOY campaign to offer a 30% discount on first-time PyCharm licenses. All year-one revenue from PyCharm purchases from now until December 23rd, 2023 will go directly to the NumFOCUS programs. + +Use unique URL that will allow to track purchases https://lp.jetbrains.com/support-data-science/ or a coupon code ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 released + +_Sep 16, 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) is now available. The highlights of the release are: + +* Python 3.12.0 support. +* Cython 3.0.0 compatibility. +* Use of the Meson build system +* Updated SIMD support +* f2py fixes, meson and bind(x) support +* Support for the updated Accelerate BLAS/LAPACK library + +The NumPy 1.26.0 release is a continuation of the 1.25.x series that marks the transition to the Meson build system and provision of support for Cython 3.0.0. A total of 20 people contributed to this release and 59 pull requests were merged. + +The Python versions supported by this release are 3.9-3.12. + +### numpy.org is now available in Japanese and Portuguese + +_Aug 2, 2023_ -- numpy.org is now available in 2 additional languages: Japanese and Portuguese. This wouldn’t be possible without our dedicated volunteers: + +_Portuguese:_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japanese:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +The work on the translation infrastructure is supported with funding from CZI. + +Looking ahead, we’d love to translate the website into more languages. If you’d like to help, please connect with the NumPy Translations Team on Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Look for the #translations channel.) We are also building a Translations Team who will be working on localizing documentation and educational content across the Scientific Python ecosystem. If this piqued your interest, join us on the Scientific Python Discord: https://discord.gg/khWtqY6RKr. (Look for the #translation channel.) + +### NumPy 1.25.0 released + +_Jun 17, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) is now available. The highlights of the release are: + +* Support for MUSL, there are now MUSL wheels. +* Support for the Fujitsu C/C++ compiler. +* Object arrays are now supported in einsum. +* Support for the inplace matrix multiplication (`@=`). + +The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been preparatory work for the future NumPy 2.0.0, resulting in a large number of new and expired deprecations. + +A total of 148 people contributed to this release and 530 pull requests were merged. + +The Python versions supported by this release are 3.9-3.11. + +### Fostering an Inclusive Culture: Call for Participation + +_May 10, 2023_ -- Fostering an Inclusive Culture: Call for Participation + +How can we be better when it comes to diversity and inclusion? Read the report and find out how to get involved [here](https://contributor-experience.org/docs/posts/dei-report/). + +### NumPy documentation team leadership transition + +_Jan 6, 2023_ –- Mukulika Pahari and Ross Barnowski are appointed as the new NumPy documentation team leads replacing Melissa Mendonça. We thank Melissa for all her contributions to the NumPy official documentation and educational materials, and Mukulika and Ross for stepping up. + +### NumPy 1.24.0 released + +_Dec 18, 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) is now available. The highlights of the release are: + +* New "dtype" and "casting" keywords for stacking functions. +* New F2PY features and fixes. +* Many new deprecations, check them out. +* Many expired deprecations, + +The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase execution speed, and clarify the documentation. There are a large number of new and expired deprecations due to changes in dtype promotion and cleanups. It is the work of 177 contributors spread over 444 pull requests. The supported Python versions are 3.8-3.11. + +### Numpy 1.23.0 released + +_Jun 22, 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) is now available. The highlights of the release are: + +* Implementation of `loadtxt` in C, greatly improving its performance. +* Exposure of DLPack at the Python level for easy data exchange. +* Changes to the promotion and comparisons of structured dtypes. +* Improvements to f2py. + +The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. It is the work of 151 contributors spread over 494 pull requests. The Python versions supported by this release 3.8-3.10. Python 3.11 will be supported when it reaches the rc stage. + +### NumFOCUS DEI research study: call for participation + +_Apr 13, 2022_ -- NumPy is working with [NumFOCUS](http://numfocus.org/) on a [research project](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) funded by the [Gordon & Betty Moore Foundation](https://www.moore.org/) to understand the barriers to participation that contributors, particularly those from historically underrepresented groups, face in the open-source software community. The research team would like to talk to new contributors, project developers and maintainers, and those who have contributed in the past about their experiences joining and contributing to NumPy. + +**Interested in sharing your experiences?** + +Please complete this brief [“Participant Interest” form](https://numfocus.typeform.com/to/WBWVJSqe) which contains additional information on the research goals, privacy, and confidentiality considerations. Your participation will be valuable to the growth and sustainability of diverse and inclusive open-source software communities. Accepted participants will participate in a 30-minute interview with a research team member. + +### Numpy 1.22.0 release + +_Dec 31, 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) is now available. The highlights of the release are: + +* Type annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release. +* A preliminary version of the proposed [array API Standard](https://data-apis.org/array-api/latest/) is provided (see [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). This is a step in creating a standard collection of functions that can be used across libraries such as CuPy and JAX. +* NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data. +* New methods for `quantile`, `percentile`, and related functions. The new methods provide a complete set of the methods commonly found in the literature. +* The universal functions have been refactored to implement most of [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html). This also unlocks the ability to experiment with the future DType API. +* A new configurable memory allocator for use by downstream projects. + +NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. The Python versions supported by this release are 3.8-3.10. + +### Advancing an inclusive culture in the scientific Python ecosystem + +_August 31, 2021_ -- We are happy to announce the Chan Zuckerberg Initiative has [awarded a grant](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) to support the onboarding, inclusion, and retention of people from historically marginalized groups on scientific Python projects, and to structurally improve the community dynamics for NumPy, SciPy, Matplotlib, and Pandas. + +As a part of [CZI's Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/), this [Diversity & Inclusion supplemental grant](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) will support the creation of dedicated Contributor Experience Lead positions to identify, document, and implement practices to foster inclusive open-source communities. This project will be led by Melissa Mendonça (NumPy), with additional mentorship and guidance provided by Ralf Gommers (NumPy, SciPy), Hannah Aizenman and Thomas Caswell (Matplotlib), Matt Haberland (SciPy), and Joris Van den Bossche (Pandas). + +This is an ambitious project aiming to discover and implement activities that should structurally improve the community dynamics of our projects. By establishing these new cross-project roles, we hope to introduce a new collaboration model to the Scientific Python communities, allowing community-building work within the ecosystem to be done more efficiently and with greater outcomes. We also expect to develop a clearer picture of what works and what doesn't in our projects to engage and retain new contributors, especially from historically underrepresented groups. Finally, we plan on producing detailed reports on the actions executed, explaining how they have impacted our projects in terms of representation and interaction with our communities. + +The two-year project is expected to start by November 2021, and we are excited to see the results from this work! [You can read the full proposal here](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### 2021 NumPy survey + +_July 12, 2021_ -- At NumPy, we believe in the power of our community. 1,236 NumPy users from 75 countries participated in our inaugural survey last year. The survey findings gave us a very good understanding of what we should focus on for the next 12 months. + +It’s time for another survey, and we are counting on you once again. It will take about 15 minutes of your time. Besides English, the survey questionnaire is available in 8 additional languages: Bangla, French, Hindi, Japanese, Mandarin, Portuguese, Russian, and Spanish. + +Follow the link to get started: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Numpy 1.21.0 release + +_Jun 23, 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) is now available. The highlights of the release are: + +- continued SIMD work covering more functions and platforms, +- initial work on the new dtype infrastructure and casting, +- universal2 wheels for Python 3.8 and Python 3.9 on Mac, +- improved documentation, +- improved annotations, +- new `PCG64DXSM` bitgenerator for random numbers. + +This NumPy release is the result of 581 merged pull requests contributed by 175 people. The Python versions supported for this release are 3.7-3.9, support for Python 3.10 will be added after Python 3.10 is released. + + +### 2020 NumPy survey results + +_Jun 22, 2021_ -- In 2020, the NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results here: https://numpy.org/user-survey-2020/. + + +### Numpy 1.20.0 release + +_Jan 30, 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) is now available. This is the largest NumPy release to date, thanks to 180+ contributors. The two most exciting new features are: +- Type annotations for large parts of NumPy, and a new `numpy.typing` submodule containing `ArrayLike` and `DtypeLike` aliases that users and downstream libraries can use when adding type annotations in their own code. +- Multi-platform SIMD compiler optimizations, with support for x86 (SSE, AVX), ARM64 (Neon), and PowerPC (VSX) instructions. This yielded significant performance improvements for many functions (examples: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversity in the NumPy project + +_Sep 20, 2020_ -- We wrote a [statement on the state of, and discussion on social media around, diversity and inclusion in the NumPy project](/diversity_sep2020). + + +### First official NumPy paper published in Nature! + +_Sep 16, 2020_ -- We are pleased to announce the publication of [the first official paper on NumPy](https://www.nature.com/articles/s41586-020-2649-2) as a review article in Nature. This comes 14 years after the release of NumPy 1.0. The paper covers applications and fundamental concepts of array programming, the rich scientific Python ecosystem built on top of NumPy, and the recently added array protocols to facilitate interoperability with external array and tensor libraries like CuPy, Dask, and JAX. + + +### Python 3.9 is coming, when will NumPy release binary wheels? + +_Sept 14, 2020_ -- Python 3.9 will be released in a few weeks. If you are an early adopter of Python versions, you may be dissapointed to find that NumPy (and other binary packages like SciPy) will not have binary wheels ready on the day of the release. It is a major effort to adapt the build infrastructure to a new Python version and it typically takes a few weeks for the packages to appear on PyPI and conda-forge. In preparation for this event, please make sure to +- update your `pip` to version 20.1 at least to support `manylinux2010` and `manylinux2014` +- use [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) or `--only-binary=:all:` to prevent `pip` from trying to build from source. + + +### Numpy 1.19.2 release + +_Sep 10, 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) is now available. This latest release in the 1.19 series fixes several bugs, prepares for the [upcoming Cython 3.x release](http://docs.cython.org/en/latest/src/changes.html) and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros. + +### The inaugural NumPy survey is live! + +_Jul 2, 2020_ -- This survey is meant to guide and set priorities for decision-making about the development of NumPy as software and as a community. The survey is available in 8 additional languages besides English: Bangla, Hindi, Japanese, Mandarin, Portuguese, Russian, Spanish and French. + +Please help us make NumPy better and take the survey [here](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy has a new logo! + +_Jun 24, 2020_ -- NumPy now has a new logo: + +NumPy logo + +The logo is a modern take on the old one, with a cleaner design. Thanks to Isabela Presedo-Floyd for designing the new logo, as well as to Travis Vaught for the old logo that served us well for 15+ years. + + +### NumPy 1.19.0 release + +_Jun 20, 2020_ -- NumPy 1.19.0 is now available. This is the first release without Python 2 support, hence it was a "clean-up release". The minimum supported Python version is now Python 3.6. An important new feature is that the random number generation infrastructure that was introduced in NumPy 1.17.0 is now accessible from Cython. + + +### Season of Docs acceptance + +_May 11, 2020_ -- NumPy has been accepted as one of the mentor organizations for the Google Season of Docs program. We are excited about the opportunity to work with a technical writer to improve NumPy's documentation once again! For more details, please see [the official Season of Docs site](https://developers.google.com/season-of-docs/) and our [ideas page](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### NumPy 1.18.0 release + +_Dec 22, 2019_ -- NumPy 1.18.0 is now available. After the major changes in 1.17.0, this is a consolidation release. It is the last minor release that will support Python 3.5. Highlights of the release includes the addition of basic infrastructure for linking with 64-bit BLAS and LAPACK libraries, and a new C-API for `numpy.random`. + +Please see the [release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0) for more details. + + +### NumPy receives a grant from the Chan Zuckerberg Initiative + +_Nov 15, 2019_ -- We are pleased to announce that NumPy and OpenBLAS, one of NumPy's key dependencies, have received a joint grant for $195,000 from the Chan Zuckerberg Initiative through their [Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/) that supports software maintenance, growth, development, and community engagement for open source tools critical to science. + +This grant will be used to ramp up the efforts in improving NumPy documentation, website redesign, and community development to better serve our large and rapidly growing user base, and ensure the long-term sustainability of the project. While the OpenBLAS team will focus on addressing sets of key technical issues, in particular thread-safety, AVX-512, and thread-local storage (TLS) issues, as well as algorithmic improvements in ReLAPACK (Recursive LAPACK) on which OpenBLAS depends. + +More details on our proposed initiatives and deliverables can be found in the [full grant proposal](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). The work is scheduled to start on Dec 1st, 2019 and continue for the next 12 months. + + + + +## Releases + +Here is a list of NumPy releases, with links to release notes. Bugfix releases (only the `z` changes in the `x.y.z` version number) have no new features; minor releases (the `y` increases) do. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 Feb 2024_. +- NumPy 1.26.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 Jan 2024_. +- NumPy 1.26.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 Nov 2023_. +- NumPy 1.26.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 Oct 2023_. +- NumPy 1.26.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 Sep 2023_. +- NumPy 1.25.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 Jul 2023_. +- NumPy 1.25.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 Jul 2023_. +- NumPy 1.24.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 Jun 2023_. +- NumPy 1.25.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 Jun 2023_. +- NumPy 1.24.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 Apr 2023_. +- NumPy 1.24.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 Feb 2023_. +- NumPy 1.24.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 Dec 2022_. +- NumPy 1.24.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 Dec 2022_. +- NumPy 1.23.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _19 Nov 2022_. +- NumPy 1.23.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 Oct 2022_. +- NumPy 1.23.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 Sep 2022_. +- NumPy 1.23.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 Aug 2022_. +- NumPy 1.23.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 Jul 2022_. +- NumPy 1.23.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 Jun 2022_. +- NumPy 1.22.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 May 2022_. +- NumPy 1.21.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 Apr 2022_. +- NumPy 1.22.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 Mar 2022_. +- NumPy 1.22.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 Feb 2022_. +- NumPy 1.22.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 Jan 2022_. +- NumPy 1.22.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _31 Dec 2021_. +- NumPy 1.21.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _19 Dec 2021_. +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 Jun 2021_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 May 2021_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 Jan 2021_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 Jan 2021_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 Jun 2020_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 May 2020_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 Jan 2020_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 Dec 2019_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 Jul 2019_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 Jul 2018_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 Jan 2018_. diff --git a/content/hi/press-kit.md b/content/hi/press-kit.md new file mode 100644 index 0000000000..2c8970bb29 --- /dev/null +++ b/content/hi/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press kit +sidebar: false +--- + +We would like to make it easy for you to include the NumPy project identity in your next academic paper, course materials, or presentation. + +You will find several high-resolution versions of the NumPy logo [here](https://github.com/numpy/numpy/tree/main/branding/logo). Note that by using the numpy.org resources, you accept the [NumPy Code of Conduct](/code-of-conduct). diff --git a/content/hi/privacy.md b/content/hi/privacy.md new file mode 100644 index 0000000000..6064e4c4f1 --- /dev/null +++ b/content/hi/privacy.md @@ -0,0 +1,8 @@ +--- +title: Privacy Policy +sidebar: false +--- + +**numpy.org** is operated by [NumFOCUS, Inc.](https://numfocus.org), the fiscal sponsor of the NumPy project. For the Privacy Policy of this website please refer to https://numfocus.org/privacy-policy. + +If you have any questions about the policy or NumFOCUS’s data collection, use, and disclosure practices, please contact the NumFOCUS staff at privacy@numfocus.org. diff --git a/content/hi/report-handling-manual.md b/content/hi/report-handling-manual.md new file mode 100644 index 0000000000..5586668cba --- /dev/null +++ b/content/hi/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: NumPy Code of Conduct - How to follow up on a report +sidebar: false +--- + +This is the manual followed by NumPy’s Code of Conduct Committee. It’s used when we respond to an issue to make sure we’re consistent and fair. + +Enforcing the [Code of Conduct](/code-of-conduct) impacts our community today and for the future. It’s an action that we do not take lightly. When reviewing enforcement measures, the Code of Conduct Committee will keep the following values and guidelines in mind: + +* Act in a personal manner rather than impersonal. The Committee can engage the parties to understand the situation while respecting the privacy and any necessary confidentiality of reporters. However, sometimes it is necessary to communicate with one or more individuals directly: the Committee’s goal is to improve the health of our community rather than only produce a formal decision. +* Emphasize empathy for individuals rather than judging behavior, avoiding binary labels of “good” and “bad/evil”. Overt, clear-cut aggression and harassment exist, and we will address them firmly. But many scenarios that can prove challenging to resolve are those where normal disagreements devolve into unhelpful or harmful behavior from multiple parties. Understanding the full context and finding a path that re-engages all is hard, but ultimately the most productive for our community. +* We understand that email is a difficult medium and can be isolating. Receiving criticism over email, without personal contact, can be particularly painful. This makes it especially important to keep an atmosphere of open-minded respect for the views of others. It also means that we must be transparent in our actions, and that we will do everything in our power to make sure that all our members are treated fairly and with sympathy. +* Discrimination can be subtle and it can be unconscious. It can show itself as unfairness and hostility in otherwise ordinary interactions. We know that this does occur, and we will take care to look out for it. We would very much like to hear from you if you feel you have been treated unfairly, and we will use these procedures to make sure that your complaint is heard and addressed. +* Help increase engagement in good discussion practice: try to identify where discussion may have broken down, and provide actionable information, pointers, and resources that can lead to positive change on these points. +* Be mindful of the needs of new members: provide them with explicit support and consideration, with the aim of increasing participation from underrepresented groups in particular. +* Individuals come from different cultural backgrounds and native languages. Try to identify any honest misunderstandings caused by a non-native speaker and help them understand the issue and what they can change to avoid causing offence. Complex discussion in a foreign language can be very intimidating, and we want to grow our diversity also across nationalities and cultures. + + +## Mediation + +Voluntary informal mediation is a tool at our disposal. In contexts such as when two or more parties have all escalated to the point of inappropriate behavior (something sadly common in human conflict), it may be useful to facilitate a mediation process. This is only an example: the Committee can consider mediation in any case, mindful that the process is meant to be strictly voluntary and no party can be pressured to participate. If the Committee suggests mediation, it should: + +* Find a candidate who can serve as a mediator. +* Obtain the agreement of the reporter(s). The reporter(s) have complete freedom to decline the mediation idea or to propose an alternate mediator. +* Obtain the agreement of the reported person(s). +* Settle on the mediator: while parties can propose a different mediator than the suggested candidate, only if a common agreement is reached on all terms can the process move forward. +* Establish a timeline for mediation to complete, ideally within two weeks. + +The mediator will engage with all the parties and seek a resolution that is satisfactory to all. Upon completion, the mediator will provide a report (vetted by all parties to the process) to the Committee, with recommendations on further steps. The Committee will then evaluate these results (whether a satisfactory resolution was achieved or not) and decide on any additional action deemed necessary. + + +## How the Committee will respond to reports + +When the Committee (or a Committee member) receives a report, they will first determine whether the report is about a clear and severe breach (as defined below). If so, immediate action needs to be taken in addition to the regular report handling process. + + +## Clear and severe breach actions + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We will deal quickly with clear and severe breaches like personal threats, violent, sexist or racist language. + +When a member of the Code of Conduct Committee becomes aware of a clear and severe breach, they will do the following: + +* Immediately disconnect the originator from all NumPy communication channels. +* Reply to the reporter that their report has been received and that the originator has been disconnected. +* In every case, the moderator should make a reasonable effort to contact the originator, and tell them specifically how their language or actions qualify as a “clear and severe breach”. The moderator should also say that, if the originator believes this is unfair or they want to be reconnected to NumPy, they have the right to ask for a review, as below, by the Code of Conduct Committee. The moderator should copy this explanation to the Code of Conduct Committee. +* The Code of Conduct Committee will formally review and sign off on all cases where this mechanism has been applied to make sure it is not being used to control ordinary heated disagreement. + + +## Report handling + +When a report is sent to the Committee they will immediately reply to the reporter to confirm receipt. This reply must be sent within 72 hours, and the group should strive to respond much quicker than that. + +If a report doesn’t contain enough information, the Committee will obtain all relevant data before acting. The Committee is empowered to act on the Steering Council’s behalf in contacting any individuals involved to get a more complete account of events. + +The Committee will then review the incident and determine, to the best of their ability: + +* What happened. +* Whether this event constitutes a Code of Conduct violation. +* Who are the responsible party(ies). +* Whether this is an ongoing situation, and there is a threat to anyone’s physical safety. + +This information will be collected in writing, and whenever possible the group’s deliberations will be recorded and retained (i.e. chat transcripts, email discussions, recorded conference calls, summaries of voice conversations, etc). + +It is important to retain an archive of all activities of this Committee to ensure consistency in behavior and provide institutional memory for the project. To assist in this, the default channel of discussion for this Committee will be a private mailing list accessible to current and future members of the Committee as well as members of the Steering Council upon justified request. If the Committee finds the need to use off-list communications (e.g. phone calls for early/rapid response), it should in all cases summarize these back to the list so there’s a good record of the process. + +The Code of Conduct Committee should aim to have a resolution agreed upon within two weeks. In the event that a resolution can’t be determined in that time, the Committee will respond to the reporter(s) with an update and projected timeline for resolution. + + +## Resolutions + +The Committee must agree on a resolution by consensus. If the group cannot reach consensus and deadlocks for over a week, the group will turn the matter over to the Steering Council for resolution. + +Possible responses may include: + +* Taking no further action: + - if we determine no violations have occurred; + - if the matter has been resolved publicly while the Committee was considering responses. +* Coordinating voluntary mediation: if all involved parties agree, the Committee may facilitate a mediation process as detailed above. +* Remind publicly, and point out that some behavior/actions/language have been judged inappropriate and why in the current context, or can but hurtful to some people, requesting the community to self-adjust. +* A private reprimand from the Committee to the individual(s) involved. In this case, the group chair will deliver that reprimand to the individual(s) over email, cc’ing the group. +* A public reprimand. In this case, the Committee chair will deliver that reprimand in the same venue that the violation occurred, within the limits of practicality. E.g., the original mailing list for an email violation, but for a chat room discussion where the person/context may be gone, they can be reached by other means. The group may choose to publish this message elsewhere for documentation purposes. +* A request for a public or private apology, assuming the reporter agrees to this idea: they may at their discretion refuse further contact with the violator. The chair will deliver this request. The Committee may, if it chooses, attach “strings” to this request: for example, the group may ask a violator to apologize in order to retain one’s membership on a mailing list. +* A “mutually agreed upon hiatus” where the Committee asks the individual to temporarily refrain from community participation. If the individual chooses not to take a temporary break voluntarily, the Committee may issue a “mandatory cooling off period”. +* A permanent or temporary ban from some or all NumPy spaces (mailing lists, gitter.im, etc.). The group will maintain records of all such bans so that they may be reviewed in the future or otherwise maintained. + +Once a resolution is agreed upon, but before it is enacted, the Committee will contact the original reporter and any other affected parties and explain the proposed resolution. The Committee will ask if this resolution is acceptable, and must note feedback for the record. + +Finally, the Committee will make a report to the NumPy Steering Council (as well as the NumPy core team in the event of an ongoing resolution, such as a ban). + +The Committee will never publicly discuss the issue; all public statements will be made by the chair of the Code of Conduct Committee or the NumPy Steering Council. + + +## Conflicts of Interest + +In the event of any conflict of interest, a Committee member must immediately notify the other members, and recuse themselves if necessary. diff --git a/content/hi/tabcontents.yaml b/content/hi/tabcontents.yaml new file mode 100644 index 0000000000..d74cba9bce --- /dev/null +++ b/content/hi/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + arraylibraries: + intro: + - + text: NumPy's API is the starting point when libraries are written to exploit innovative hardware, create specialized array types, or add capabilities beyond what NumPy provides. + headers: + - + text: Array Library + - + text: Capabilities & Application areas + libraries: + - + title: Dask + text: Distributed arrays and advanced parallelism for analytics, enabling performance at scale. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: NumPy-compatible array library for GPU-accelerated computing with Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.dev + - + title: JAX + text: "Composable transformations of NumPy programs: differentiate, vectorize, just-in-time compilation to GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: NumPy-compatible sparse array library that integrates with Dask and SciPy's sparse linear algebra. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: Deep learning framework that accelerates the path from research prototyping to production deployment. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: An end-to-end platform for machine learning to easily build and deploy ML powered applications. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: A cross-language development platform for columnar in-memory data and analytics. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://arrow.apache.org/ + - + title: xtensor + text: Multi-dimensional arrays with broadcasting and lazy computing for numerical analysis. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipulate JSON-like data with NumPy-like idioms. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: Python backend system that decouples API from implementation; unumpy provides a NumPy API. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: Nearly every scientist working in Python draws on the power of NumPy. + - + text: "NumPy brings the computational power of languages like C and Fortran to Python, a language much easier to learn and use. With this power comes simplicity: a solution in NumPy is often clear and elegant." + libraries: + - + title: Quantum Computing + alttext: A computer chip. + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: Statistical Computing + alttext: A line graph with the line moving up. + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: Image Processing + alttext: An photograph of the mountains. + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy + alttext: A telescope. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: Cognitive Psychology + alttext: A human head with gears. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: Bioinformatics + alttext: A strand of DNA. + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: Bayesian Inference + alttext: A graph with a bell-shaped curve. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: Mathematical Analysis + alttext: Four mathematical symbols. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: Chemistry + alttext: A test tube. + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: Geoscience + alttext: The Earth. + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: Geographic Processing + alttext: A map. + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: Architecture & Engineering + alttext: A microprocessor development board. + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy lies at the core of a rich ecosystem of data science libraries. A typical exploratory data science workflow might look like:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Diagram of Python Libraries. The five catagories are 'Extract, Transform, Load', 'Data Exploration', 'Data Modeling', 'Data Evaluation' and 'Data Presentation'. + image2: + - + img: /images/content_images/data-science.png + alttext: Diagram of three overlapping circles. The circles are labeled 'Mathematics', 'Computer Science' and 'Domain Expertise'. In the middle of the diagram, which has the three circles overlapping it, is an area labeled 'Data Science'. + examples: + - + text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor-devs.github.io/pyjanitor/)" + - + text: "Exploratory analysis: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "Model and evaluate: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Report in a dashboard: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://voila.readthedocs.io/)" + content: + - + text: For high data volumes, [Dask](https://dask.org) and [Ray](https://ray.io/) are designed to scale. Stable deployments rely on data versioning ([DVC](https://dvc.org)), experiment tracking ([MLFlow](https://mlflow.org)), and workflow automation ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) and [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: A streamplot made in matplotlib + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: A scatter-plot graph made in ggpy + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: A box-plot made in plotly + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + content: + - + text: NumPy is an essential component in the burgeoning [Python visualization landscape](https://pyviz.org/overviews/index.html), which includes [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://napari.org/), and [PyVista](https://docs.pyvista.org/), to name a few. + - + text: NumPy's accelerated processing of large arrays allows researchers to visualize datasets far larger than native Python could handle. diff --git a/content/hi/teams/index.md b/content/hi/teams/index.md new file mode 100644 index 0000000000..1baaaa35ab --- /dev/null +++ b/content/hi/teams/index.md @@ -0,0 +1,36 @@ +--- +title: NumPy Teams +sidebar: false +--- + +We are an international team on a mission to support scientific and research +communities worldwide by building quality, open-source software. +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# Governance + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/hi/user-survey-2020.md b/content/hi/user-survey-2020.md new file mode 100644 index 0000000000..b4349bcb7d --- /dev/null +++ b/content/hi/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: 2020 NUMPY COMMUNITY SURVEY +sidebar: false +--- + +In 2020, the NumPy survey team in partnership with students and faculty from a Master’s course in Survey Methodology jointly hosted by the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Over 1,200 users from 75 countries participated to help us map out a landscape of the NumPy community and voiced their thoughts about the future of the project. + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 NumPy user survey report, titled "NumPy Community Survey 2020 - results"' width = '250' +{{< /figure >}} + +**[Download the report](/surveys/NumPy_usersurvey_2020_report.pdf)** to take a closer look at the survey findings. + + +For the highlights, check out **[this infographic](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**. + +Ready for a deep dive? Visit **https://numpy.org/user-survey-2020-details/**. + diff --git a/content/hi/user-surveys.md b/content/hi/user-surveys.md new file mode 100644 index 0000000000..89a2aa0460 --- /dev/null +++ b/content/hi/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: NUMPY USER SURVEYS +sidebar: false +--- + +**2020** The NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results [here](https://numpy.org/user-survey-2020/). + +**2021** The collected data is currently being analyzed. + +If you have any questions or suggestions for the past or future surveys, please open an issue [here](https://github.com/numpy/numpy-surveys/issues). diff --git a/content/ja/_index.md b/content/ja/_index.md index 1109f91332..c048f16e54 100644 --- a/content/ja/_index.md +++ b/content/ja/_index.md @@ -1,5 +1,5 @@ --- -title: +title: null --- {{< grid columns="1 2 2 3" >}} @@ -17,6 +17,15 @@ title = '数値計算ツール群' body = ''' NumPyは、様々な数学関数、乱数生成器、線形代数ルーチン、フーリエ変換などを提供しています。 ''' +''' + +[[item]] +type = 'card' +title = 'オープンソース' +body = ''' +NumPyは、寛容な[BSDライセンス](https://github.com/numpy/numpy/blob/main/LICENSE.txt)で公開されています。NumPyは活発で、互>いを尊重し、多様性を認め合う[コミュニティ](/ja/community)によって、 [GitHub](https://github.com/numpy/numpy)上でオープンに開発されていま +す. +''' [[item]] type = 'card' @@ -25,6 +34,7 @@ body = ''' NumPyは、幅広いハードウェアとコンピューティング・プラットフォームをサポートしており、分散処理、GPU、疎行列ライブラリにも対 応しています。 ''' +''' [[item]] type = 'card' @@ -32,6 +42,7 @@ title = '高パフォーマンス' body = ''' NumPyの大部分は最適化されたC言語のコードで構成されています。これによりPythonの柔軟性とコンパイルされたコードの高速性の両方 を享受できます。 +''' コンパイルされたコードのスピードでの Python の柔軟性をお楽しみください。 ''' [[item]] @@ -40,13 +51,6 @@ title = '使いやすさ' body = ''' NumPyの高水準なシンタックスは、どんなバックグラウンドや経験を持つのプログラマーでも簡単に利用することができ、生産性を高め>ることができます。 ''' - -[[item]] -type = 'card' -title = 'オープンソース' -body = ''' -NumPyは、寛容な[BSDライセンス](https://github.com/numpy/numpy/blob/main/LICENSE.txt)で公開されています。NumPyは活発で、互>いを尊重し、多様性を認め合う[コミュニティ](/ja/community)によって、 [GitHub](https://github.com/numpy/numpy)上でオープンに開発されていま -す. ''' {{< /grid >}} diff --git a/content/ja/about.md b/content/ja/about.md index d153a89b33..439b6c5431 100644 --- a/content/ja/about.md +++ b/content/ja/about.md @@ -37,7 +37,7 @@ Numpy運営委員会に連絡するには、numpy-team@googlegroups.comまでメ ## チーム -Numpy プロジェクトのコアメンバーは、プロジェクトへの貢献の方法の多様化に積極的に取り組んでいます。
Numpyには現在以下のチームがあります: +Numpy プロジェクトのコアメンバーは、プロジェクトへの貢献の方法の多様化に積極的に取り組んでいます。
Numpyには現在以下のチームがあります: - 開発 - ドキュメント @@ -55,7 +55,7 @@ Numpy プロジェクトのコアメンバーは、プロジェクトへの貢 - Charles Harris - Ralf Gommers -- Inessa Pawson +- Melissa Weber Mendonça - Sebastian Berg - 外部メンバー: Thomas Caswell diff --git a/content/ja/case-studies/blackhole-image.md b/content/ja/case-studies/blackhole-image.md index 7d7dfb2505..bc103764df 100644 --- a/content/ja/case-studies/blackhole-image.md +++ b/content/ja/case-studies/blackhole-image.md @@ -4,19 +4,13 @@ sidebar: false --- {{< figure >}} -src = '/images/content_images/cs/blackhole.jpg' -title = 'Black Hole M87' -alt = 'black hole image' -attribution = '(Image Credits: Event Horizon Telescope Collaboration)' -attrk = 'https://www.jpl.nasa.gov/images/universe/90410/blackhole20190410.jpg' +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attrk = 'https://www.jpl.nasa.gov/images/universe/90410/blackhole20190410.jpg' {{< /figure >}} -{{< blockquote - cite="https://www.youtube.com/watch?v=BIvezCVcsYs" - by="*カリフォルニア工科大学 計算・数理学部*のKatie Bouman助教授" ->}} -M87ブラックホールを画像化することは、見ることのできないものを、あえて見ようとするようなものです。 -{{< /blockquote >}} +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="*カリフォルニア工科大学 計算・数理学部*のKatie Bouman助教授" +> }} M87ブラックホールを画像化することは、見ることのできないものを、あえて見ようとするようなものです。 +> +> {{< /blockquote >}} ## 地球大の望遠鏡 @@ -45,12 +39,7 @@ M87ブラックホールを画像化することは、見ることのできな 今までに見たことのないものを見るのが研究の目標なら、どうやって科学者はその画像が正しいと確信することができるのでしょうか? {{< figure >}} -src = '/images/content_images/cs/dataprocessbh.png' -title = 'EHTのデータ処理パイプライン' -alt = 'data pipeline' -align = 'center' -attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' -attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHTのデータ処理パイプライン' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' {{< /figure >}} ## NumPyが果たした役割 @@ -62,17 +51,13 @@ EHTの共同研究では、最先端の画像再構成技術を使用して、 彼らの研究は、共同のデータ解析を通じて科学を進歩させる、科学的なPythonエコシステムが果たす役割を如実に表しています。 {{< figure >}} -src = '/images/content_images/cs/bh_numpy_role.png' -alt = 'role of numpy' -title = 'ブラックホール画像化でNumPyが果たした役割' +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'ブラックホール画像化でNumPyが果たした役割' {{< /figure >}} 例えば、 [`eht-imaging`][ehtim] というPython パッケージは VLBI データで画像の再構築をシミュレートし、実行するためのツールです。 NumPyは、以下のソフトウェア依存関係チャートで示されているように、このパッケージで使用される配列データ処理の中核を担っています。 {{< figure >}} -src = '/images/content_images/cs/ehtim_numpy.png' -alt = 'ehtim dependency map highlighting numpy' -title = 'NumPyの中心としたehtimのソフトウェア依存図' +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'NumPyの中心としたehtimのソフトウェア依存図' {{< /figure >}} NumPyだけでなく、[SciPy](https://www.scipy.org)や[Pandas](https://pandas.io)などのパッケージもブラックホール画像化におけるデータ処理パイプラインに利用されています。 天文学の標準的なファイル形式や時間/座標変換 は[Astropy][astropy]で実装され、ブラックホールの最終画像の生成を含め、解析パイプライン全体でのデータ可視化には [Matplotlib][mpl]が利用されました。 @@ -82,9 +67,7 @@ NumPyだけでなく、[SciPy](https://www.scipy.org)や[Pandas](https://pandas. NumPyの中心的な機能である、効率的で適用性の高いn次元配列は、研究者が大規模な数値データを操作することを可能にし、世界で初めてのブラックホールの画像化の基礎を築きました。 アインシュタインの理論に素晴らしい視覚的証拠を与えたのは、科学の画期的な瞬間だといえます。 この科学的に偉大な達成には、技術的の飛躍的な進歩だけでなく、200人以上の科学者と世界で 最高の電波観測所の間での国際協力も寄与しました。 革新的なアルゴリズムとデータ処理技術は、既存の天文学モデルを改良し、宇宙の謎を解き明かす助けになったといえます。 {{< figure >}} -src = '/images/content_images/cs/numpy_bh_benefits.png' -alt = 'numpy benefits' -title = '利用されたNumPyの主要機能' +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = '利用されたNumPyの主要機能' {{< /figure >}} [resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole diff --git a/content/ja/case-studies/cricket-analytics.md b/content/ja/case-studies/cricket-analytics.md index b76249853f..52f835c783 100644 --- a/content/ja/case-studies/cricket-analytics.md +++ b/content/ja/case-studies/cricket-analytics.md @@ -3,20 +3,14 @@ title: "ケーススタディ: クリケット分析、ゲームチェンジャ sidebar: false --- -{{< figure >}} -src = '/images/content_images/cs/ipl-stadium.png' -title = ' IPLT20、インド最大のクリケットフェスティバル' -alt = 'Indian Premier League Cricket cup and stadium' -attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' -attributionlink = 'https://unsplash.com/@aksh1802' +{{< figure src="/images/content_images/cs/ipl-stadium.png" caption="** IPLT20、インド最大のクリケットフェスティバル**" alt="Indian Premier League Cricket cup and stadium" attr="*(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))*" attrlink="https://unsplash.com/@aksh1802" >}} +src = '/images/content_images/cs/ipl-stadium.png' title = ' IPLT20、インド最大のクリケットフェスティバル' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' {{< /figure >}} -{{< blockquote - cite="https://www.scoopwhoop.com/sports/ms-dhoni/" - by="M S Dhoni、 *インディアンチームの元キャプテン、インターナショナル・クリケットプレイヤー、チェンナイ・スーパー・キングスのためにIPLでプレイ*" ->}} -観客のために競技をするのではなく、国のために競技するのです。 -{{< /blockquote >}} +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni、 *インディアンチームの元キャプテン、インターナショナル・クリケットプレイヤー、チェンナイ・スーパー・キングスのためにIPLでプレイ*" +> }} 観客のために競技をするのではなく、国のために競技するのです。 +> +> {{< /blockquote >}} ## クリケットについて @@ -34,12 +28,7 @@ attributionlink = 'https://unsplash.com/@aksh1802' * チーム構成に戦略的な決定を下すための、各勝敗へのプレイヤーの貢献 {{< figure >}} -src = '/images/content_images/cs/cricket-pitch.png' -title = ' フィールドのフォーカルポイントとなるクリケットピッチ' -alt = 'A cricket pitch with bowler and batsmen' -align = 'center' -attribution = '(Image credit: Debarghya Das)' -attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +src = '/images/content_images/cs/cricket-pitch.png' title = ' フィールドのフォーカルポイントとなるクリケットピッチ' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' {{< /figure >}} ### データ分析の主要な目標 @@ -49,11 +38,7 @@ attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' * 履歴分析に加えて、予測モデルは可能性のある結果を求めることができますが、かなりの数のナンバークランチングとデータサイエンスのノウハウ、可視化ツール、および分析に新しい観測データを含める機能などが必要になります。 {{< figure >}} -src = '/images/content_images/cs/player-pose-estimator.png' -alt = 'pose estimator' -title = 'クリケットの姿勢推定' -attribution = '(Image credit: connect.vin)' -attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'クリケットの姿勢推定' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' {{< /figure >}} ### 課題 @@ -83,7 +68,5 @@ attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analy スポーツアナリティクスは、プロの試合についてはまさにゲームチェンジャーです。 特に戦略的な意思決定については、最近まで主に「直感」や過去の伝統的な考え方に基づいて行われていたため、大きな影響があります。 NumPyは、データ分析・機械学習・人工知能のアルゴリズムに関連する高レベル関数を提供する沢山のPythonパッケージ群の、堅固な基盤となっています。 これらのパッケージは、ゲームの結果を変えるような意思決定を支援するリアルタイムのインサイトを得るため、クリケットの試合だけでなく関連する推論やビジネスの推進にも広く使用されています。 クリケットの試合結果につながる隠れたパラメータや、パターン、属性を見つけることは、ステークホルダーが数字や統計に隠されているゲームの洞察方法を見つけるのにも役に立つのです。 {{< figure >}} -src = '/images/content_images/cs/numpy_ca_benefits.png' -alt = 'クリケット分析にNumPyを使用するメリットを示す図' -title = ' 利用されている主なNumPy機能 ' +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'クリケット分析にNumPyを使用するメリットを示す図' title = ' 利用されている主なNumPy機能 ' {{< /figure >}} diff --git a/content/ja/case-studies/deeplabcut-dnn.md b/content/ja/case-studies/deeplabcut-dnn.md index 006dacadbb..c5b0ec68d6 100644 --- a/content/ja/case-studies/deeplabcut-dnn.md +++ b/content/ja/case-studies/deeplabcut-dnn.md @@ -3,20 +3,14 @@ title: "ケーススタディ: DeepLabCut 三次元姿勢推定" sidebar: false --- -{{< figure >}} -src = '/images/content_images/cs/mice-hand.gif' -title = 'DeepLapCutを用いたマウスの手の動きの解析' -alt = 'micehandanim' -attribution = '(Source: www.deeplabcut.org )' -attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< figure src="/images/content_images/cs/mice-hand.gif" class="fig-center" caption="**DeepLapCutを用いたマウスの手の動きの解析 **" alt="micehandanim" attr="*(Source: www.deeplabcut.org )*" attrlink="http://www.mousemotorlab.org/deeplabcut">}} +src = '/images/content_images/cs/mice-hand.gif' title = 'DeepLapCutを用いたマウスの手の動きの解析' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' {{< /figure >}} -{{< blockquote - cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" - by="Alexander Mathis、 *准教授、École polytechnology fe’rale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" ->}} -オープンソースソフトウェアは生体臨床医学を加速させています。 DeepLabCut を使用すると、深層学習を使用して動物の行動を自動的にビデオ解析することができます。 -{{< /blockquote >}} +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis、 *准教授、École polytechnology fe’rale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} オープンソースソフトウェアは生体臨床医学を加速させています。 DeepLabCut を使用すると、深層学習を使用して動物の行動を自動的にビデオ解析することができます。 +> +> {{< /blockquote >}} ## DeepLabCut について @@ -25,10 +19,7 @@ attributionlink = 'http://www.mousemotorlab.org/deeplabcut' 神経科学、医学、生体力学などのいくつかの研究分野では、動物の動きを追跡したデータを使用しています。 DeepLabCutは、動画に記録された動きを解析することで、人間やその他の動物が何をしているのかを理解することができます。 タグ付けや監視などの、手間のかかる作業を自動化し、深層学習ベースのデータ解析を実施します。 DeepLabCutは、霊長類、マウス、魚、ハエなどの動物を観察する科学研究をより速く正確にしています。 {{< figure >}} -src = '/images/content_images/cs/race-horse.gif' -title = '色のついた点は競走馬の体の位置を追跡' -alt = 'horserideranim' -attribution = '(Source: Mackenzie Mathis)' +src = '/images/content_images/cs/race-horse.gif' title = '色のついた点は競走馬の体の位置を追跡' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' {{< /figure >}} DeepLabCutは、動物の姿勢を抽出することで非侵襲的な行動追跡を行います。 これは、生体力学、遺伝学、倫理学、神経科学などの分野での研究に必要不可欠です。 動的に変化する背景の中で、動物の姿勢をビデオデータから非侵襲的に測定することは、技術的にも、必要な計算リソースやトレーニングデータの点でも、非常に困難な計算処理です。 @@ -59,12 +50,7 @@ DeepLabCutでは[転移学習](https://arxiv.org/pdf/1909.11229)という技術 - 統合された可視化ツールを使用した推論の描画 {{< figure >}} -src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' -title = 'DeepLabCutによる姿勢推定のステップ' -alt = 'dlcsteps' -align = 'center' -attribution = '(Source: DeepLabCut)' -attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'DeepLabCutによる姿勢推定のステップ' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' {{< /figure >}} ### 課題 @@ -81,13 +67,8 @@ attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/pho 最後に、配列の操作もかなり難しい問題です。 様々な画像や、目標のテンソル、キーポイントに対応する大きな配列のスタックを処理しなければならないからです。 -{{< figure >}} -src = '/images/content_images/cs/pose-estimation.png' -title = '姿勢推定の多様性と難しさ' -alt = 'challengesfig' -align = 'center' -attribution = '(Source: Mackenzie Mathis)' -attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< figure src="/images/content_images/cs/numpy_dlc_benefits.png" class="fig-center" alt="numpy benefits" caption="**NumPyの主要機能**" >}} +src = '/images/content_images/cs/pose-estimation.png' title = '姿勢推定の多様性と難しさ' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' {{< /figure >}} ## 姿勢推定の課題に対応するためのNumPyの役割 @@ -105,11 +86,7 @@ NumPy は DeepLabCutにおける、行動分析の高速化のための数値計 DeepLabCutは、ツールキットが提供するワークフローを通じてNumPyの配列機能を利用しています。 特に、NumPyはヒューマンアノテーションのラベル付けや、アノテーションの書き込み、編集、処理のために、特定のフレームをサンプリングするために使用されています。 TensorFlowを使ったニューラルネットワークは、DeepLabCutの技術によって何千回も訓練され、 フレームから真のアノテーション情報を予測します。 この目的のため、姿勢推定問題を画像-画像変換問題として変換する目標密度(スコアマップ) を作成します。 ニューラルネットワークのロバスト化のため、データの水増しを使用していますが、このためには幾何学・画像的処理を施したスコアマップの計算を行うことが必要になります。 また学習を高速化するため、NumPyのベクトル化機能が利用されています。 推論には、目標のスコアマップから最も可能性の高い予測値を抽出し、効率的に「予測値をリンクさせて個々の動物を組み立てる」ことが必要になります。 {{< figure >}} -src = '/images/content_images/cs/deeplabcut-workflow.png' -title = 'DeepLabCutのワークフロー' -alt = 'workflow' -attribution = '(Source: Mackenzie Mathis)' -attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCutのワークフロー' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' {{< /figure >}} ## まとめ @@ -117,9 +94,7 @@ attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The- 行動を観察し、効率的に表現することは、現代倫理学、神経科学、医学、工学の根幹です。 [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) により、研究者は対象の姿勢を推定し、行動を効率的に定量化できるようになりました。 DeepLabCutというPythonツールボックスを使えば、わずかな学習画像のセットでニューラルネットワークを人間レベルのラベリング精度で学習することができ、実験室での行動分析だけでなく、スポーツ、歩行分析、医学、リハビリテーション研究などへの応用が可能になります。 DeepLabCutアルゴリズムに必要な複雑な組み合わせ処理やデータ処理の問題を、NumPyの配列操作機能が解決しています。 {{< figure >}} -src = '/images/content_images/cs/numpy_dlc_benefits.png' -alt = 'numpy benefits' -title = 'NumPyの主要機能' +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'NumPyの主要機能' {{< /figure >}} [cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 diff --git a/content/ja/case-studies/gw-discov.md b/content/ja/case-studies/gw-discov.md index c5275fde58..3bca9f3273 100644 --- a/content/ja/case-studies/gw-discov.md +++ b/content/ja/case-studies/gw-discov.md @@ -3,18 +3,11 @@ title: "ケーススタディ: 重力波の発見" sidebar: false --- -{{< figure >}} -src = '/images/content_images/cs/gw_sxs_image.png' -title = '重力波' -alt = 'binary coalesce black hole generating gravitational waves' -attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' -attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< figure src="/images/content_images/cs/gw_sxs_image.png" class="fig-center" caption="**重力波**" alt="binary coalesce black hole generating gravitational waves" attr="*(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)*" attrlink="https://youtu.be/Zt8Z_uzG71o" >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = '重力波' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' {{< /figure >}} -{{< blockquote - cite="https://www.youtube.com/watch?v=BIvezCVcsYs" - by="David Shoemaker, *LIGOサイエンティフィック・コラボレーション*" >}} -科学計算のためのPythonエコシステムはLIGOで行われている研究のための重要なインフラです。 +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGOサイエンティフィック・コラボレーション*" >}} 科学計算のためのPythonエコシステムはLIGOで行われている研究のための重要なインフラです。 {{< /blockquote >}} ## [重力波](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) と [LIGO](https://www.ligo.caltech.edu) について @@ -47,16 +40,12 @@ attributionlink = 'https://youtu.be/Zt8Z_uzG71o' アインシュタイン方程式を元にスーパーコンピュータでデータを解析できるようになったら、次はデータを人間の脳で理解できるようにしなければなりません。 シミュレーションのモデリングや信号の検出には、わかりやすい可視化技術が必要です。 画像処理やシミュレーションによって、解析結果をより多くの人に理解してもらえる状態になる前の段階において、可視化は、数値相対性を十分に重要視していなかった純粋な科学愛好家の目に、数値相対性が、より信頼性の高いものとして映るようにするという役割も果たしています。 複雑な計算と描画を行い、また最新の実験結果と洞察に基づいてシミュレーションと再描画を行う作業は時間のかかるもので、この分野の研究者にとっての課題です。 {{< figure >}} -src = '/images/content_images/cs/gw_strain_amplitude.png' -alt = 'gravitational waves strain amplitude' -title = 'GW150914から推定される重力波の歪みの振幅' -attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' -attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'GW150914から推定される重力波の歪みの振幅' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' {{< /figure >}} ## 重力波の検出におけるNumPyの役割 -合成により放出される重力波は、スーパーコンピュータを用いたブルートフォースの数値相対性処理以外の手法では計算できません。 重力波は非常に小さい効果を生み、物質と微小な相互作用を持つため、検出が困難です。 LIGOのすべてのデータを処理・分析するには、膨大な計算インフラが必要です。 信号の数十億倍のノイズを除去した後も、非常に複雑な相対性理論の方程式と膨大な量のデータがあり、計算上の課題となっています。 +ブラックホール合成により放出される重力波は、スーパーコンピュータを用いたブルートフォースの数値相対性処理以外の手法では計算できません。 重力波は非常に小さい効果を生み、物質と微小な相互作用を持つため、検出が困難です。 LIGOのすべてのデータを処理・分析するには、膨大な計算インフラが必要です。 信号の数十億倍のノイズを除去した後も、非常に複雑な相対性理論の方程式と膨大な量のデータがあり、計算上の課題となっています。 Python用の標準的な数値解析パッケージNumPyは、LIGOの重力波検出プロジェクトで実行される様々なタスクに使用されるソフトウェアで利用されています。 NumPyは、複雑な数学処理や高速なデータ操作に役立ちました。 次にいくつかの例を示します。 @@ -70,17 +59,13 @@ Python用の標準的な数値解析パッケージNumPyは、LIGOの重力波 * 重力波データ解析のために開発された[ソフトウェア群](https://github.com/lscsoft): [GwPy](https://gwpy.github.io/docs/stable/overview.html)や [PyCBC](https://pycbc.org)は、NumPyやAstroPyを用いて、重力波検出器データを研究するためのユーティリティー・ツール・関数へのオブジェクト指向インターフェースを提供しています。 {{< figure >}} -src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' -alt = 'gwpy-numpy depgraph' -title = 'GwPyのNumPy依存グラフ' +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'GwPyのNumPy依存グラフ' {{< /figure >}} ---- {{< figure >}} -src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' -alt = 'PyCBC-numpy depgraph' -title = 'PyCBCのNumPy依存グラフ' +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'PyCBCのNumPy依存グラフ' {{< /figure >}} ## まとめ @@ -88,7 +73,5 @@ title = 'PyCBCのNumPy依存グラフ' 一方で、これまで知られてきた深遠な天体物理学の現象に、多くに新たな洞察を提供しました。 数値処理とデータの可視化は、科学者が科学的な観測から収集したデータについての洞察を得て、その結果を理解するのに役立つ重要なステップです。 しかし、その計算は複雑であり、実際の観測データと分析を用いたコンピュータシミュレーションを用いて可視化されない限り、人間が理解することはできませんでした。 NumPyは、matplotlib・pandas・scikit-learnなどのPythonパッケージとともに、研究者が複雑な質問に答え、私たちの宇宙に対するの理解において、新しい地平を発見することを[可能にしています](https://www.gw-openscience.org/events/GW150914/)。 {{< figure >}} -src = '/images/content_images/cs/numpy_bh_benefits.png' -alt = 'numpy benefits' -title = '利用されたNumPyの主要機能' +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = '利用されたNumPyの主要機能' {{< /figure >}} diff --git a/content/ja/config.yaml b/content/ja/config.yaml index bb63338184..f662552f52 100644 --- a/content/ja/config.yaml +++ b/content/ja/config.yaml @@ -85,9 +85,6 @@ params: - link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng icon: youtube - - - link: https://twitter.com/numpy_team - icon: twitter quicklinks: column1: title: "" @@ -138,4 +135,3 @@ params: - text: プレス用資料 link: /ja/press-kit - diff --git a/content/ja/contribute.md b/content/ja/contribute.md index 90db608852..2c7002cb86 100644 --- a/content/ja/contribute.md +++ b/content/ja/contribute.md @@ -17,19 +17,16 @@ NumPyプロジェクトを成功させるには、あなたの専門知識とプ プログラマーの方には、こちらの [ガイド](https://numpy.org/devdocs/dev/index.html#development-process-summary)でNumPyのコードに貢献する方法を説明しています。
追加情報に関しては、 こちらの[YouTube チャンネル](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) もご覧ください。 - ### プルリクエストのレビュー NumPyプロジェクトには現時点で250以上のオープンなプルリクエストがあり、多くの 改善要求と多くのレビュワーからのフィードバックを待っています。 もしあなたがNumPy を使ったことがある場合、 たとえNumPyコードベースに慣れていない場合でも貢献する方法はあります。 例えば、 * 長期にわたる議論をまとめる * ドキュメントのPRをトリアージする * 提案された変更をテストする - ### 教育用の資料を作成する NumPy の [ユーザガイド](https://numpy.org/devdocs) は現在、大規模な再設計中です。 新しいNumPyのWebページは、新しいチュートリアルや、NumPyの使い方、NumPy内部の深い説明など必要としており、サイト全体にも再設計と再構築が必要です。 このウェブサイトの再構築の作業は、ドキュメントを書くだけではありません。 コード例や、ノートブック、ビデオなどの作成も歓迎しています。 [NEP 44 — Restructuring the NumPyDocumentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html)に、ウェブサイトの再構築についての詳細が説明されています。 - ### イシューのトリアージ [NumPyのイシュートラッカー](https://github.com/numpy/numpy/issues) には、 _沢山の_Open状態のイシューがあります。 すでに解決されたもの、優先順位付けされるべきもの、 初心者が取り組むのに適したものがあります。 あなたができることは、いくつもあります: @@ -41,22 +38,18 @@ NumPy の [ユーザガイド](https://numpy.org/devdocs) は現在、大規模 ぜひ、やってみて下さい。 - ### ウェブサイトの開発 私たちはちょうどウェブサイトを作り直し始めたところですが、それらはまだ完了していません。 Web開発が好きなら、この[イシュー](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) に未完成な要求が列挙されています。 ぜひ、あなたのアイデアを共有してください。 - ### グラフィックデザイン グラフィックデザイナーの方が可能な貢献は、枚挙にいとまがありません。 しかし、私たちのドキュメントは説明のために可視化が重要であり、私たちの拡大しているウェブサイトは良い画像を求めていることから、 貢献する機会が沢山あると言えます。 - ### ウェブサイトの翻訳 私たちは、[numpy.org](https://numpy.org) を複数言語に翻訳し、NumPyを母国語でアクセスできるようにしたいと思っています。 これを実現するには、ボランティアの翻訳者が必要です。 詳しくは[このイシュー](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n)を参照してください。 [この GitHubイシュー](https://github.com/numpy/numpy.org/issues/55) にコメントしてサインアップしてください。 - ### コミュニティとの連携とアウトリーチ コミュニティとのコミュニケーションを通じて、私たちは、NumPyより広く知ってもらい、どこに問題があるのかを知りたいと思っています。 私たちは、[Twitter](https://twitter.com/numpy_team) アカウントや、NumPy[コードスプリント](https://scisprints.github.io/)の開催、ニュースレターの発行、そしておそらくブログなどを通じて、より沢山の人にコミュニティに参加して欲しいと思っていす。 @@ -64,3 +57,9 @@ NumPy の [ユーザガイド](https://numpy.org/devdocs) は現在、大規模 ### 資金調達 NumPyは何年にも渡ってボランティアだけ活動していましたが、その重要性が高まるにつれ、安定性と成長のためには資金面での支援が必要であることがわかってきました。 こちらの[SciPy'19のプレゼン](https://www.youtube.com/watch?v=dBTJD_FDVjU) では、資金的なサポートを受けたことで、どれだけ違いが出たかを説明しています。 他の非営利団体のように、私たちは助成金や、スポンサーシップ、その他の資金支援を常に探しています。 私たちはすでにいくつかの資金調達のアイデアを持っていますが、他にもより多くを資金調達を受けたいと思っています。 資金調達に関する知識は、我々には不足しているスキルです。 是非、あなたのサポートをお待ちしています。 + +### 寄付 + +寄付をすることでNumpy に貢献したい場合は、 [https://numpy.org/about/#donate](https://numpy.org/about/#donate) をご覧ください。 + + diff --git a/content/ja/gethelp.md b/content/ja/gethelp.md index 0a77e294c0..9a6210a28c 100644 --- a/content/ja/gethelp.md +++ b/content/ja/gethelp.md @@ -3,11 +3,9 @@ title: サポートを得る方法 sidebar: false --- -**ユーザーからの質問:** ユーザーからの質問に対して回答を得る最も良い方法は、[StackOverflow](http://stackoverflow.com/questions/tagged/numpy)に質問を投稿することです。 規模は小さいですが、下記のような質問をする場所もあります: [IRC](https://webchat.freenode.net/?channels=%23numpy)、 [Gitter](https://gitter.im/numpy/numpy)、 [Reddit](https://www.reddit.com/r/Numpy/)。 私たちはこれらのサイトを定期的に確認して、直接質問に答えるようにしていますが、質問の数は膨大です。 - **開発関連の問題:** NumPyの開発関連の問題 (例: バグレポート) については、[コミュニティ](/community) のページを参照してください。 - +**ユーザーからの質問:** ユーザーからの質問に対して回答を得る最も良い方法は、[StackOverflow](http://stackoverflow.com/questions/tagged/numpy)に質問を投稿することです。 私たちはこれらのサイトを定期的に確認して、直接質問に答えるようにしていますが、質問の数は膨大なのが現実です。 ### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) @@ -20,15 +18,3 @@ NumPyの使用方法に関する質問をするためのフォーラムです。 もう一つの使い方に関する質問の場です。 *** - -### [Gitter](https://gitter.im/numpy/numpy) - -ユーザーとコミュニティメンバーがお互いに助け合うリアルタイムのチャットルームです。 - -*** - -### [IRC](https://webchat.freenode.net/?channels=%23numpy) - -ユーザーとコミュニティメンバーがお互いを助け合うもう一つのリアルタイムチャットルームです。 - -*** diff --git a/content/ja/history.md b/content/ja/history.md index 04a5eb6432..946393c67d 100644 --- a/content/ja/history.md +++ b/content/ja/history.md @@ -9,9 +9,9 @@ NumPy および関連ライブラリの開発におけるマイルストーン NumPyのベースとなったNumericとNumarrayライブラリのコピーを入手したい場合は、以下のリンクを参照してください。 -[ *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/) のダウンロード** +[ *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/) のダウンロード*** -[*Numarray *](https://sourceforge.net/projects/numpy/files/Old%20Numarray/) のダウンロード** +[*Numarray *](https://sourceforge.net/projects/numpy/files/Old%20Numarray/) のダウンロード*** *これらの古いパッケージはもはや保守されていないことに注意してください。 配列関連の処理をしたい場合は、NumPyを使用するか、NumPyライブラリを利用するために既存のコードをリファクタリングすることを強くお勧めします。

diff --git a/content/ja/install.md b/content/ja/install.md index ba4c568ec2..9f993943be 100644 --- a/content/ja/install.md +++ b/content/ja/install.md @@ -3,10 +3,10 @@ title: NumPyのインストール sidebar: false --- -NumPyをインストールするための唯一必要なものは、Pythonそのものだけです。 もしまだPythonをイントールしておらず、最もシンプルなインストール方法をお探しなら、[Anaconda Distribution](https://www.anaconda.com/distribution)の使用をおすすめします。これにはPython、NumPy、および科学計算やデータサイエンスでよく使われる様々な多くのパッケージが含まれています。 - NumPyは`conda`、`pip` 、macOSやLinuxのパッケージマネージャー、または [ソースコード](https://numpy.org/devdocs/building)からインストールすることが出来ます。 詳細な手順については、以下の [Python と Numpyの インストールガイド](#python-numpy-install-guide) を参照してください。 +NumPyは`conda`、`pip` 、macOSやLinuxのパッケージマネージャー、または [ソースコード](https://numpy.org/devdocs/user/building.html)からインストールすることが出来ます。 NumPyをインストールするための唯一必要なものは、Pythonそのものだけです。 もしまだPythonをイントールしておらず、最もシンプルなインストール方法をお探しなら、[Anaconda Distribution](https://www.anaconda.com/distribution)の使用をおすすめします。 + **CONDA** `conda`を使用する場合、 `defaults` または `conda-forge` のチャンネルから NumPy をインストールできます。 diff --git a/content/ja/news.md b/content/ja/news.md index 9621531110..c955238c6b 100644 --- a/content/ja/news.md +++ b/content/ja/news.md @@ -7,7 +7,43 @@ date: 2023-09-16 ### NumPy 1.26.0 がリリースされました。 -_2023年9月16日_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html)がリリースされました。 今回のリリースの目玉機能は次のとおりです。 +_2024 Aug, 2024_ -- Numpy 2.1.0 は Python 3.13 をサポートし、Python 3.9をサポート外としました。 今回のリリースは通常のバグ修正やPythonサポートの更新に加えて、NumPyが2.0の長期開発を経て、通常のリリースサイクルに戻るためのリリースでもあります。 今回のリリースのハイライトは下記の通りです。 + +- Python 3.12.0 のサポート +- 多くの期限切れの非推奨(Deprecation)の削除 +- Array-api 2023.12 標準のサポート + +Python バージョン 3.10-3.13 か、このリリースでサポートされています。 + + +### 多くの新しい非推奨(Deprecation)の追加 + +_2024年6月16日_ -- Numpy 2.0.0 は2006年以来のメジャーリリースです。 これは、前回の機能リリースから11か月間の開発の成果であり、1078件のプルリクエストにわたる212人の貢献者の成果となります。 このリリースには、大きく、エキサイティングな新機能と、PythonとCの両方のAPIへの変更が含まれています。 今回のリリースが、通常のマイナーリリースでは実施できなかった互換性を破壊する変更を含んでいます。これには、ABIの破壊、型昇格ルールの変更、および1.26.xでは非推奨警告が出されていなかった可能性のあるAPIの変更が含まれています。 NumPy 2.0の変更に対応する方法に関する主要なドキュメントは次のとおりです。 + +- [NumPy 2.0移行ガイド](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- [2.0.0 リリース ノート](https://numpy.org/devdocs/release/2.0.0-notes.html) +- ステータスアップデートお知らせに関する問題: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +ブログ記事 ["NumPy 2.0: 進化のマイルストーン"](https://blog.scientific-python.org/numpy/numpy2/) は、今回のメジャーバージョンリリースがどのようにして決定されたかについてのストーリーを少し伝えています。 + + +### NumPy 1.25.0 リリース + +_ 2024年5月23日_ -- NumPy 2.0が2024年6月16日にリリースされる予定になりました! このリリースは1年以上かけて我々が準備してきたもので、2006年以来のメジャーリリースとなります。 このリリースで重要なことは、多くの新機能とパフォーマンスの向上に加えて、 このリリースは、 **破壊的な変更** である Python と C API を含む、ABI への変更 が含まれています。 NumPyに依存しているパッケージやエンドユーザーのコードがこのは破壊的変更に適応する必要がある可能性があります。可能であれば、あなたのコードがNumPy `2.0.0rc2`で動作するかどうか確認をお願いします。 **詳細は下記をご覧ください:** + +- [NumPy 2.0移行ガイド](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- [2.0.0 リリースノート](https://numpy.org/devdocs/release/2.0.0-notes.html) +- ステータス更新のお知らせイシューチケット: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUSの年末の資金調達 +_2023年12月19日_ -- NumFOCUSは、年末キャンペーンでPyCharmチームと協力し、PyCharmライセンスの初回購入に30%の割引を提供しています。 2023年12月23日までのPyCharm購入による1年目の収益は全てNumFOCUSのプログラムに直接寄付されます。 + +購入される方はこちらのURLか: https://lp.jetbrains.com/support-data-science/ こちらのクーポンコードを利用してください: ISUPPORTDATASCIENCE  + +### NumPy 1.20.0 リリース + +_2022年12月18日_ -- [Numpy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) がリリースされました。 今回のリリースのハイライトは次のとおりです。 * Python 3.12.0 のサポート * Cython 3.0.0 との互換性 @@ -16,7 +52,7 @@ _2023年9月16日_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0 * f2py のバグ修正, meson と bind(x) のサポート * 更新された BLAS/LAPACK の高速化ライブラリのサポート -Numpy 1.26.0 は 1.25 からの互換性を保持しています。Mesonビルドシステムへの移行とCython 3.0.0のサポートが目的のリリースです。 合計20人がこのリリースに貢献し、59個のプルリクエストがマージされました。 +Numpy 1.26.0 は 1.25 からの互換性を保持しています。Mesonビルドシステムへの移行とCython 3.0.0へのサポートが目的のリリースです。 合計20人がこのリリースに貢献し、59個のプルリクエストがマージされました。 このリリースでサポートされている Python のバージョンは3.9から 3.12 です。 @@ -42,13 +78,13 @@ _日本語:_ 翻訳インフラストラクチャに関するプロジェクトは、CZIからの資金援助でサポートされています。 -今後も、NumPyのウェブサイトをより多くの言語に翻訳したいと思っています。 もし手伝える場合は、Slack上のNumPy翻訳チームに連絡をお願います: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (#translation チャンネルを探してください) また、Scientific Pythonエコシステム全体のドキュメントや教育コンテンツのローカライズに取り組む翻訳チームも 立ち上げています。 このプロジェクトにも興味がある場合は、是非Scientific Python Discordに参加してください: https://discord.gg/khWtqY6RKr. (#translation チャンネルを探してください) +今後も、NumPyのウェブサイトをより多くの言語に翻訳したいと思っています。 もし手伝える場合は、Slack上のNumPy翻訳チームに連絡をお願います: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (#translation チャンネルを探してください) (#translation チャンネルを探してください) また、Scientific Pythonエコシステム全体のドキュメントや教育コンテンツのローカライズに取り組む翻訳チームも 立ち上げています。 このプロジェクトにも興味がある場合は、是非Scientific Python Discordに参加してください: https://discord.gg/khWtqY6RKr. (#translation チャンネルを探してください) -### NumPy 1.25.0 リリース +### Numpy 1.23.0 リリース -_2023年1月17日_ -- [Numpy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) がリリースされました。 今回のリリースの目玉機能は次のとおりです。 +_2022年1月22日_ -- [Numpy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) がリリースされました。 今回のリリースのハイライトは次のとおりです。 -* MUSLのサポート。MUSLのWheelが準備されました。 +* MUSLのサポート。 MUSLのWheelが準備されました。 * 富士通のC/C++コンパイラサポート * einsum でオブジェクト配列がサポートされるようになりました. * 行列の置き換え(inplace)掛け算のサポート (`@=`). @@ -71,7 +107,7 @@ _2023年1月6日_ –- Mukulika PahariとRoss Barnowskiは、Melissa MendoncAudi ### NumPy 1.24.0 リリース -_2022年12月18日_ -- [Numpy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) がリリースされました。 今回のリリースのハイライトは次のとおりです。 +_2021年1月23日_ -- [Numpy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) がリリースされました。 今回のリリースのハイライトは下記の通りです。 * スタッキング関数のための新しい"dtype"と"casting"キーワードの追加 * F2PYの新機能追加とバグ修正 @@ -80,9 +116,9 @@ _2022年12月18日_ -- [Numpy 1.24.0](https://numpy.org/doc/stable/release/1.24. Numpy 1.25. リリースは引き続きdtypeの取り扱いと dtypeのプロモーションを改善し、実行速度を向上させ、 ドキュメントを明確化するための継続的な作業を続けて行く予定です。 dtype のプロモーションとクリーンアップの変更により、多数の新規と期限切れの非推奨が存在しています。 今回のリリースは、444個のプルリクエストと177人のコントリビューターによるものです。 サポートされている Python のバージョンは 3.8-3.11 です。 -### Numpy 1.23.0 リリース +### Numpy 1.26.0 は 1.25 からの互換性を保持しています。 -_2022年1月22日_ -- [Numpy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) がリリースされました。 今回のリリースのハイライトは次のとおりです。 +_2021年12月31日_ -- [Numpy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) がリリースされました。 今回のリリースの目玉機能は次のとおりです。 * `loadtxt` がCで実装されたことによる、大幅なパフォーマンス向上 * より簡単なデータ交換のためのPythonレベルでのDLPackの公開 @@ -93,7 +129,7 @@ Numpy 1.23. リリースでは引き続きdtypeの取り扱いと dtypeのプロ ### NumFOCUS DEI研究への参加募集 -_2022年4月13日_ -- NumPyは、[NumFOCUS](http://numfocus.org/)と協力して、[ある研究プロジェクト](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c)を進めており、これは[Gordon & Betty Moore Foundation](https://www.moore.org/)によって資金提供されています。このプロジェクトでは、オープンソースソフトウェアコミュニティにおいて、特に歴史的に代表されてこなかったグループからの貢献者が参加する際の障壁を理解することを目的としています。 この研究チームは、新しい貢献者、プロジェクトの開発者およびメンテナー、そして過去に貢献した方々に、NumPyに参加し貢献した経験について話を聞きたいと考えています。 +_2022年4月13日_ -- NumPyは、[NumFOCUS](http://numfocus.org/)と協力して、[ある研究プロジェクト](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c)を進めており、これは[Gordon & Betty Moore Foundation](https://www.moore.org/)によって資金提供されています。 この研究チームは、新しい貢献者、プロジェクトの開発者およびメンテナー、そして過去に貢献した方々に、NumPyに参加し貢献した経験について話を聞きたいと考えています。 **あなたの経験を共有することに興味がありますか?** @@ -101,7 +137,7 @@ _2022年4月13日_ -- NumPyは、[NumFOCUS](http://numfocus.org/)と協力して ### NumPy 1.19.2 リリース -_2021年12月31日_ -- [Numpy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) がリリースされました。 今回のリリースの目玉機能は次のとおりです。 +_2023年9月16日_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html)がリリースされました。 今回のリリースの目玉機能は次のとおりです。 * メインの名前空間の型アノテーションは基本的に完了しました。 上流のコードは常に変化するものなので、さらなる改良が必要でしょうが、大きな作業は終わったと考えています。 これはおそらく、今回のリリースで最も目に見える改良でしょう。 * 以前から提案されていた [array API 標準](https://data-apis.org/array-api/latest/) のベータ版が提供されています ( [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html) を参照) 。 これは、CuPy や JAX などのライブラリで使用できる 関数の標準的なコレクションを作成するために必要なステップです。 @@ -116,7 +152,7 @@ NumPy 1.22.0は、153人の貢献者が609のプルリクエストを作成し _ 2021年8月31日_ -- この度、Chan Zuckerberg Initiativeより、科学的なPythonプロジェクトにおいて、歴史的に疎外されてきたグループの人々のオンボーディング、インクルージョン、リテンションを支援し、NumPy、SciPy、Matplotlib、Pandasのコミュニティダイナミクスを構造的に改善するための [ 助成金を授与されました ](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) ことをお知らせします。 -[ CZIのEssential Open Source Software for Scienceプログラム ](https://chanzuckerberg.com/eoss/)の一環として、この[ Diversity & Inclusion補助金 ](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b)は、開けたなオープンソースコミュニティを育成するためにやるべきことを特定したり、文書化したり、実施したりするためのコントリビュータ体験のリーダー専任職の創設を支援することになります。 このプロジェクトは、Melissa Mendonça (NumPy) が中心となって、下記の方々の追加のメンタリングとサポートにより実施されます。Ralf Gommers (NumPy、SciPy)、Hannah AizenmanとThomas Caswell (Matplotlib)、Matt Haberland (SciPy)、そして Joris Van den Bossche (Pandas)。 +[ CZIのEssential Open Source Software for Scienceプログラム ](https://chanzuckerberg.com/eoss/)の一環として、この[ Diversity & Inclusion補助金 ](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b)は、開けたなオープンソースコミュニティを育成するためにやるべきことを特定したり、文書化したり、実施したりするためのコントリビュータ体験のリーダー専任職の創設を支援することになります。 このプロジェクトは、Melissa Mendonça (NumPy) が中心となって、下記の方々の追加のメンタリングとサポートにより実施されます。 Ralf Gommers (NumPy、SciPy)、Hannah AizenmanとThomas Caswell (Matplotlib)、Matt Haberland (SciPy)、そして Joris Van den Bossche (Pandas)。 このプロジェクトは私たちのOSSプロジェクトのコミュニティダイナミクスを構造的に改善する方法を発見し、実施することを目指す野心的なプロジェクトです。 このような複数のプロジェクトの横断的な役割を確立することで、Scientific Pythonコミュニティに新しいコラボレーションモデルを導入し、エコシステム内のコミュニティ構築作業をより効率的に、より大きな成果を生めるようにしたいと考えています。 特にこのプロジェクトにより、歴史的にこれまで代表的ではなかったグループからの新しいコントリビュータを引き付け、貢献を維持するために、何がうまくいき、何がうまくいかないかを、より明確に把握できるようになると期待しています。 最後に、実施したアクションについて詳細な報告書を作成し、プロジェクトの代表者やコミュニティとの交流の面で、プロジェクトにどのような影響を与えたかを説明する予定です。 @@ -131,9 +167,9 @@ _2021年7月12日_ -- NumPy ではコミュニティの力を信じています こちらのリンク先から、アンケートを始めることができます: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSL4q. -### NumPy 1.19.0 リリース +### Numpy 1.18.0 リリース -_2021年1月23日_ -- [Numpy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) がリリースされました。 今回のリリースのハイライトは下記の通りです。 +_2023年1月17日_ -- [Numpy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) がリリースされました。 今回のリリースの目玉機能は次のとおりです。 - より多くの機能やプラットフォームをカバーするためのSIMD関連の改善が実施されました。 - dtypeのための新しいインフラとキャストの準備 @@ -142,7 +178,7 @@ _2021年1月23日_ -- [Numpy 1.21.0](https://numpy.org/doc/stable/release/1.21.0 - アノテーションの改善 - 乱数生成用の新しい `PCG64DXSM` ビット生成機 -今回のNumpy リリースは、175人による581件のプルリクエストのマージの結果です。 このリリースでサポートされている Python のバージョンは 3.7-3.9 です。Python 3.10 がリリースされた後、Python 3.10 のサポートが追加されます。 +今回のNumpy リリースは、175人による581件のプルリクエストのマージの結果です。 このリリースでサポートされている Python のバージョンは 3.7-3.9 です。 Python 3.10 がリリースされた後、Python 3.10 のサポートが追加されます。 ### 2020年度 NumPy アンケート結果 @@ -150,7 +186,7 @@ _2021年1月23日_ -- [Numpy 1.21.0](https://numpy.org/doc/stable/release/1.21.0 _2021年6月22日_ -- NumPyの調査チームは、2020年に ミシガン大学とメリーランド大学の学生や教員と協力して、最初の公式NumPyコミュニティ調査を実施しました。 アンケートの結果はこちらから確認できます。 https://numpy.org/user-survey-2020/ -### NumPy 1.18.0 リリース +### NumPy 1.19.2 リリース _2021年1月30日_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) がリリースされました。 今回のリリースは180 人以上のコントリビューターのおかげで、これまでで最大の NumPyのリリースとなりました。 最も重要な2つの新機能は次のとおりです。 - NumPyの大部分のコードに型注釈が追加されました。 そして新しいサブモジュールである`numpy.typing`が追加されました。 このサブモジュールは`ArrayLike` や`DtypeLike`という型注釈のエイリアスが定義されており、これによりユーザーやダウンストリームのライブラリはこの型注釈を使うことができます。 @@ -181,7 +217,7 @@ _2020年9月10日_ -- [NumPy 19.2.0](https://numpy.org/devdocs/release/1.19.2-no _2020年7月2日_ -- このアンケート調査は、NumPyにおける、ソフトウェアとしてとコミュニティの両方における意思決定の指針となり、優先順位を決定する役に立ちました。 この調査結果は英語以外のこれらの8つの言語で利用可能です: バングラ, ヒンディー語, 日本語, マンダリン, ポルトガル語, ロシア語, スペイン語とフランス語. -NumPy をより良くするために、こちらの [アンケート](https://umdsurvey. umd. edu/jfe/form/SV_8bJrXjbhXf7saAl) に協力してもらえると助かります。 +NumPy をより良くするために、こちらの \[アンケート\](https://umdsurvey. umd. edu/jfe/form/SV_8bJrXjbhXf7saAl) に協力してもらえると助かります。 ### NumPy に新しいロゴができました! @@ -193,7 +229,7 @@ _2020年6月24日_ -- NumPyのロゴが新しくなりました: 新しいロゴは、古いロゴに比べて、モダンでよりクリーンなデザインになりました。 新しいロゴをデザインしてくれたIsabela Presedo-Floydと、15年以上にわたって使用してきた旧ロゴをデザインしてくれたTravis Vaughtに感謝します。 -### NumPy 1.20.0 リリース +### NumPy 1.19.0 リリース _2020年6月20日_ -- NumPy 1.19.0 がリリースされました。 このバージョンは Python 2系のサポートがない最初のリリースであり、"クリーンアップ用のリリース" です。 サポートされている一番古いPython のバージョンは Python 3.6 になりました。 また、今回の重要な新機能はNumPy 1.17.0で導入された乱数生成用のインフラにCythonからアクセスできるようになったことです。 @@ -203,7 +239,7 @@ _2020年6月20日_ -- NumPy 1.19.0 がリリースされました。 このバ _2020年5月11日_ -- NumPyは、 Googleのシーズンオブドキュメントプログラムのメンター団体の1つとして選ばれました。 NumPy のドキュメントを改善するために、テクニカルライターと協力するこの機会を楽しみにしています! 詳細については、 [シーズンオブドキュメント公式サイト](https://developers.google.com/season-of-docs/) と [アイデアページ](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas) をご覧ください。 -### Numpy 1.18.0 リリース +### NumPy 1.18.0 リリース _2019年12月22日_ -- NumPy 1.18.0 がリリースされました。 このリリースは、1.17.0での主要な変更の後の、まとめのようなリリースです。 Python 3.5 をサポートする最後のマイナーリリースになります。 今回のリリースでは、64ビットのBLASおよびLAPACKライブラリとリンクするためのインフラの追加や、`numpy.random`のための新しいC-APIの追加などが行われました。 @@ -225,7 +261,14 @@ _2019年11月15日_ -- NumPyと、NumPyの重要な依存ライブラリの1つ こちらは、より以前のNumPyリリースのリストで、各リリースノートへのリンクが記載されています。 全てのバグフィックスリリース(バージョン番号`x.y.z` の`z`だけが変更されたもの)は新しい機能追加はされず、マイナーリリース (`y` が増えたもの)は、新しい機能追加されています。 - +- NumPy 2.1.2 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _2024年10月5日_. +- NumPy 2.1.1 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _2024年9月3日_. +- NumPy 2.0.2 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _2024年8月26日_. +- NumPy 2.1.0 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _2024年8月18日_. +- NumPy 1.22.4 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _2022年5月20日_. +- NumPy 2.0.0 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _2024年6月16日_. +- NumPy 1.26.3 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _ 2024年1月2日_. +- NumPy 1.26.3 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _ 2024年1月2日_. - NumPy 1.26.2 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _2023年11月12日_. - NumPy 1.26.1 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _2023年10月14日_. - NumPy 1.26.0 ([リリースノート](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _2023年9月16日_. diff --git a/content/ja/report-handling-manual.md b/content/ja/report-handling-manual.md index b200124145..10ec4d6249 100644 --- a/content/ja/report-handling-manual.md +++ b/content/ja/report-handling-manual.md @@ -78,7 +78,7 @@ NumPyの行動規範委員会はこのマニュアルに従います。 この * 調停の調整。すべての関係者が合意した場合、委員会は上記のように調停プロセスを促進することができます。 * 公の場における説明。 どの行動・言動・言語が不適切で、現在の状況がなぜか引き起こされ、人々を傷つけたのかを説明し、コミュニティに自省を要求します。 * 委員会から関係者(複数可) への非公開処分の実施。 この場合、委員会は、電子メールを介して、グループにccを入れながら、対象者に問題の指摘を連絡します。 -* 公の場での指摘。 この場合、委員会の議長は、違反が発生したのと同じ場所で、実用性の範囲内で叱責を行います。 例えば、メールルールの違反の元のメーリングリストなどです。しかし、人や状況がかわるかもしれないチャットルームなどの場合、他の手段を利用する可能性もあります。 文書化のため、この問題のメッセージを他の場所で公開することを対策グループが選択する場合もあります。 +* 公の場での指摘。 この場合、委員会の議長は、違反が発生したのと同じ場所で、実用性の範囲内で叱責を行います。 例えば、メールルールの違反の元のメーリングリストなどです。 しかし、人や状況がかわるかもしれないチャットルームなどの場合、他の手段を利用する可能性もあります。 文書化のため、この問題のメッセージを他の場所で公開することを対策グループが選択する場合もあります。 * 報告者がこの考えに同意することを前提とした、公的または私的な謝罪の要求。 報告者は自分の裁量で、違反者とのさらなる接触を拒否することもできます。 委員会がこの要求をお届けします。 委員会は、必要に応じてこの要求に「条件」を付けることができます。例えば、メーリングリストの会員資格を維持するために、違反者に謝罪を求めることができます。 * 「相互に合意した休止」の要求。 これは、委員会から個人への、コミュニティへの参加を一時的に控えるような要請です。 対象者が自発的に一時的な休みを取らないことを選択した場合、委員会は「冷却期限」を準備することがあります。 * これは、一部またはすべてのNumPyオンラインコミュニティ (メーリングリスト、gitter.im など) からの永続的または一時的な出入り禁止。 将来的に禁止が見直されるのか、維持されるか決定できるよう、対策グループは出入り禁止の記録を全て保持します。 diff --git a/content/ja/tabcontents.yaml b/content/ja/tabcontents.yaml index e3dc2ba4ed..56b85aba55 100644 --- a/content/ja/tabcontents.yaml +++ b/content/ja/tabcontents.yaml @@ -86,76 +86,230 @@ params: img: /images/content_images/arlib/uarray.png alttext: uarray url: https://uarray.org/en/latest/ - - - title: tensorly - text: Numpy、MXNet、PyTorch、TensorFlowまたはCupyをシームレスに使用するための、テンソル学習、テンソル代数、およびそれらのテンソル計算のためのバックエンド - img: /images/content_images/arlib/tensorly.png - alttext: tensorly - url: http://tensorly.org/stable/home.html scientificdomains: intro: - text: Pythonを使って働くほとんどの科学者はNumPyの力を利用しています。 - text: "Numpy は、 C や Fortran のような言語の計算パフォーマンスを、Pythonにもたらします。 このパワーはNumPyのシンプルさから来ており、NumPyによるソリューションの多くは明確でエレガントになります。" - librariesrow1: + libraries: - title: 量子コンピューティング alttext: コンピューターチップ img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane - title: 統計コンピューティング - alttext: 線グラフで、グラフが上に移動します。 + alttext: 線グラフが上に移動します。 img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://github.com/statsmodels/statsmodels + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://github.com/mwaskom/seaborn + label: Seaborn - title: 信号処理 alttext: 正と負の値を持つ棒グラフ。 img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy - title: 画像処理 alttext: 山々の写真 img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas - title: グラフとネットワーク alttext: シンプルなグラフ img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP - title: 天文学 alttext: 望遠鏡 img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://github.com/sunpy/sunpy + label: SunPy + - + url: https://github.com/spacepy/spacepy + label: SpacePy - title: 認知心理学 alttext: ギアをつけた人間の頭部 img: /images/content_images/sc_dom_img/cognitive_psychology.svg - librariesrow2: + links: + - + url: https://www.psychopy.org/ + label: PsychoPy - title: 生命情報科学 alttext: DNAの鎖 img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE - title: ベイズ推論 alttext: 鐘形の曲線のグラフ img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee - title: 数学的分析 alttext: 4つの数学記号 img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://github.com/cvxgrp/cvxpy + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS - title: 化学 alttext: 試験管 img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM - title: 地球科学 alttext: 地球 img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra - title: 地理情報処理 alttext: 地図 img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium - title: アーキテクチャとエンジニアリング alttext: マイクロプロセッサ開発ボード img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: 都市エネルギー分析 + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok datascience: intro: "Numpy は豊富なデータサイエンスライブラリのエコシステムの中核にあります。一般的なデータサイエンスのワークフローは次のようになります。" image1: @@ -201,7 +355,7 @@ params: img: /images/content_images/v_seaborn.png alttext: 2種類のグラフによるペアプロット。seabornで作られたプロットと周波数グラフ" - - url: https://docs.pyvista.org/ + url: https://docs.pyvista.org/examples/index.html img: /images/content_images/v_pyvista.png alttext: PyVista製の3Dボリュームレンダリング - diff --git a/content/ja/teams/index.md b/content/ja/teams/index.md index f7bd323039..5179e2b224 100644 --- a/content/ja/teams/index.md +++ b/content/ja/teams/index.md @@ -3,32 +3,32 @@ title: NumPy開発チーム sidebar: false --- -私たちは、高品質のオープンソースソフトウェアを構築することで、世界中の科学・研究コミュニティをサポートすることを使命とする国際的なチームです。 是非[参加してください](/contribute)! +私たちは、高品質のオープンソースソフトウェアを構築することで、世界中の科学・研究コミュニティをサポートすることを使命とする国際的なチームです。 是非[参加してください](/ja/contribute)! ### Maintainers {{< grid file="maintainers.toml" columns="2 3 4 5" />}} -### Docs team +### ドキュメントチーム {{< grid file="docs-team.toml" columns="2 3 4 5" />}} -### Web team +### Webチーム {{< grid file="web-team.toml" columns="2 3 4 5" />}} -### Triage team +### トリアージチーム {{< grid file="triage-team.toml" columns="2 3 4 5" />}} -### Survey team +### アンケートチーム {{< grid file="survey-team.toml" columns="2 3 4 5" />}} -### Emeritus maintainers +### 名誉メンテナー {{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} -# ガバナンス +# 管理委員会 For the list of people on the Steering Council, please see [here](https://numpy.org/devdocs/dev/governance/people.html). diff --git a/content/ja/user-survey-2020.md b/content/ja/user-survey-2020.md index b79cc13ed8..b2d03f46a5 100644 --- a/content/ja/user-survey-2020.md +++ b/content/ja/user-survey-2020.md @@ -3,12 +3,10 @@ title: 2020年 NumPyコミュニティ調査 sidebar: false --- -2020年に、NumPyの調査チームは、ミシガン大学とメリーランド大学が共同で開催した、調査方法学の修士コースの学生と教員と共同で、初めて公式のNumPyコミュニティ調査を実施しました。 75カ国から1,200人以上のNumPyユーザーが参加してくれました。NumPyコミュニティの全体像を描き、プロジェクトの未来像についての意見を述べてもらいました。 +2020年に、NumPyの調査チームは、ミシガン大学とメリーランド大学が共同で開催した、調査方法学の修士コースの学生と教員と共同で、初めて公式のNumPyコミュニティ調査を実施しました。 75カ国から1,200人以上のNumPyユーザーが参加してくれました。 NumPyコミュニティの全体像を描き、プロジェクトの未来像についての意見を述べてもらいました。 -{{< figure >}} -src = '/surveys/NumPy_usersurvey_2020_report_cover.png' -alt = 'Cover page of the 2020 Numpy User survey report, titled "Numpyコミュニティ調査2020 - 結果"' -width = '250' +{{< figure src="/surveys/NumPy_usersurvey_2020_report_cover.png" class="fig-left" alt="Cover page of the 2020 Numpy User survey report, titled 'Numpyコミュニティ調査2020 - 結果'" width="250">}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 Numpy User survey report, titled "Numpyコミュニティ調査2020 - 結果"' width = '250' {{< /figure >}} 調査結果を詳細を知りたい場合は、**[こちらのレポート](/surveys/NumPy_usersurvey_2020_report.pdf)** をダウンロードしてください。 diff --git a/content/ko/404.md b/content/ko/404.md new file mode 100644 index 0000000000..41504d0c8a --- /dev/null +++ b/content/ko/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +앗! 잘못된 접근입니다. + +만약 이곳에 어떤 페이지가 있어야 한다면 [Issue 열기](https://github.com/numpy/numpy.org/issues)에서 문제를 제기할 수 있습니다. diff --git a/content/ko/_index.md b/content/ko/_index.md new file mode 100644 index 0000000000..0f06c2c787 --- /dev/null +++ b/content/ko/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +{{< card >}} +title = '강력한 N차원 배열' +body = ''' +빠르고 다재다능한 NumPy의 벡터화, 인덱싱, 전송 구성은 오늘날 배열 컴퓨팅의 사실상 표준입니다. +''' +{{< /card >}} + +{{< card >}} +title = '수치적 컴퓨팅 도구' +body = ''' +NumPy는 포괄적인 수학 함수, 난수 생성기, 선형 대수 루틴, 푸리에 변환 등을 제공합니다. +''' +{{< /card >}} + +{{< card >}} +title = '오픈 소스' +body = ''' +자유 [BSD 라이선스](https://github.com/numpy/numpy/blob/main/LICENSE.txt)에 따라, NumPy는 흥미에 찼으며, 반응이 빠르고, 다양성이 넘치는 [커뮤니티](/community)에 의하여 [GitHub](https://github.com/numpy/numpy)에서 공개적으로 개발되고 유지됩니다. +''' +{{< /card >}} + +{{< card >}} +title = '상호운용성' +body = ''' +NumPy는 광범위한 하드웨어 및 컴퓨팅 플랫폼을 지원합니다. 또 분산형, GPU, 희소 배열 라이브러리와도 잘 작동합니다. +''' +{{< /card >}} + +{{< card >}} +title = '효율성' +body = ''' +NumPy의 핵심은 최적화된 C 코드로 구성되어 있습니다. 컴파일된 코드의 속도와 함께 Python의 유연함을 즐기세요. +''' +{{< /card >}} + +{{< card >}} +title = '쉬운 사용법' +body = ''' +NumPy의 고수준 문법은 어떤 배경이나 수준을 가지고 있는 프로그래머든 쉽게 접근하여 생산적인 일을 할 수 있도록 만들어줍니다. +''' +{{< /card >}} + +{{< /grid >}} diff --git a/content/ko/about.md b/content/ko/about.md new file mode 100644 index 0000000000..c05b97d1b8 --- /dev/null +++ b/content/ko/about.md @@ -0,0 +1,90 @@ +--- +title: NumPy 정보 +sidebar: false +--- + +NumPy는 Python을 통해 수치적 컴퓨팅을 할 수 있도록 도와주는 오픈소스 프로젝트입니다. Numerical와 Numarray라는 라이브러리의 초기 작업을 기반으로 2005년에 만들어졌습니다. NumPy는 항상 100% 오픈 소스 소프트웨어이며 누구나 무료로 사용할 수 있습니다 [수정된 BSD 라이선스](https://github.com/numpy/numpy/blob/main/LICENSE.txt)의 자유로운 조건에 따라 릴리스됩니다. + +NumPy는 NumPy와 더 넓은 과학 Python 커뮤니티의 합의를 통해 GitHub의 공개적으로 개발되었습니다. 거버넌스 접근 방식에 대한 자세한 내용은 [거버넌스 문서](https://www.numpy.org/devdocs/dev/governance/index.html)를 참조하세요. + + +## 운영 위원회 + +NumPy 운영 위원회는 프로젝트를 관리하는 기관입니다. 그 역할은 더 넓은 NumPy 커뮤니티와 협력하고 서비스를 제공함으로써 소프트웨어 패키지와 커뮤니티로서 프로젝트의 장기적인 지속 가능성을 보장하는 것입니다. NumPy 운영 위원회는 현재 다음과 같은 회원들로 구성되어 있습니다. (성씨의 알파벳 순서) + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Melissa Weber Mendonça +- Eric Wieser + +명예 회원 + +- Alex Griffing (2015-2017) +- Allan Haldane (2015-2021) +- Marten van Kerkwijk (2017-2019) +- Travis Oliphant (프로젝트 설립자, 2005-2012) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Jaime Fernández del Río (2014-2021) +- Pauli Virtanen (2008-2021) + +NumPy 운영 위원회에 문의하려면, numpy-team@googlegroups.com 주소로 이메일을 보내세요. + +## 팀 + +NumPy 프로젝트 리더십은 프로젝트에 대한 기여 경로를 다양화하기 위해 적극적으로 노력하고 있습니다.
NumPy에는 현재 다음 팀이 있습니다: + +- 개발 +- 문서 +- 심사 +- 웹사이트 +- 설문조사 +- 번역 +- 스프린트 멘토링 +- 최적화 +- 자원 및 보조금 + +스프린트 멘토링 + +## NumFOCUS 소위원회 + +- Charles Harris +- Ralf Gommers +- Inessa Pawson +- Sebastian Berg +- 외부 회원: Thomas Caswell + +## 스폰서 + +NumPy는 다음과 같은 곳들에서 직접적으로 자금을 받습니다. +{{< sponsors >}} + + +## 기관 파트너 + +기관 파트너는 그들의 업무의 일환으로 NumPy에 기여하는 직원을 고용하여 프로젝트를 지원하는 조직입니다. 현재 기관 파트너는 다음과 같습니다. + +- UC 버클리 (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## 후원 + +만약 NumPy가 당신의 업무, 연구 혹은 회사에서 유용하다고 판단된다면 당신의 자원에 맞는 프로젝트에 기여하는 것을 고려해보세요. 그것이 얼마든 도움이 됩니다! 모든 후원은 NumPy의 소프트웨어 개발, 문서 작성과 커뮤니티 운영의 자금으로 엄격하게 사용될 것입니다. + +NumPy는 미국의 501(c)(3) 비영리 단체인 NumFOCUS의 후원 프로젝트입니다. NumFOCUS는 NumPy에 재정적, 법적, 행정적 지원을 제공하고 프로젝트의 건강과 지속 가능성을 보장할 수 있도록 도와줍니다. 더 자세한 정보를 알고싶다면 [numfocus.org](https://numfocus.org)를 방문하세요. + +NumPy에 대한 후원은 [NumFOCUS](https://numfocus.org)가 관리합니다. 미국에 거주하는 후원자의 경우에는, 당신의 후원은 법이 제공하는 한도 내에서 세금 공제를 받을 수 있습니다. 기부와 마찬가지로 특정 세금 상황에 대해서는 세금 전문가와 상담해야합니다. + +NumPy 운영 위원회는 후원받은 후원금을 가장 잘 활용하는 방안을 결정합니다. 기술 및 인프라의 우선 순위는 NumPy [NumPy Roadmap](https://www.numpy.org/neps/index.html#roadmap)에 문서화되어 있습니다. + +{{}} + diff --git a/content/ko/arraycomputing.md b/content/ko/arraycomputing.md new file mode 100644 index 0000000000..9c661978d2 --- /dev/null +++ b/content/ko/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: 배열 연산 +sidebar: false +--- + +*배열 연산은 통계와 수학 뿐만 아니라 현대의 다양한 분야에 적용되는 데이터 사이언스, 데이터 시각화나 디지털 신호 처리, 영상 처리, 의생명 정보 공학, 기계학습, AI 등 다양한 분야에서 적용되는 데이터 분석 어플리케이션의 기반입니다.* + +대규모 데이터의 조작과 연산은 고효율, 고성능의 배열 연산에 달려있습니다. **Python**은 데이터 과학자, 머신 러닝 개발자, 그리고 효율적인 수치 계산을 필요로 하는 분야에서 선택되는 프로그래밍 언어입니다. + +**Num**erical **Py**thon 또는 NumPy 는 파이썬의 표준라이브러리에는 포함되지 않지만, 대규모, 다차원 행렬을 표현할 수 있고, 배열 연산을 위한 고수준의 수학 함수들을 포함한 라이브러리입니다. + +2006년에 NumPy가 출시된 이후로, 2008년에 이를 기반으로 Pandas가 나타났습니다. 그리고 몇년전까지도, 다양한 배열 연산 라이브러리가 잇따라 나오며 배열 연산 분야가 더욱 활발해 졌습니다. 최신의 라이브러리들중 대부분은 NumPy 같은 특징과 성능을 모방하고, 새로운 알고리즘이나 머신러닝이나 인공지능 어플리케이션을 위한 특화된 기능을 포함하고 있습니다. + +arraycl + +**배열 연산**의 기반은 **array ** 자료구조 입니다. *배열*은 대규모의 데이터를 정렬, 검색, 수학 계산, 그리고 변형을 쉽고 빠르게 처리하는데 사용됩니다. + +배열 연산은 *한번에 * 데이터 배열에 *모든 연산이* 계산 됩니다. 다시 말해서, 모든 배열 연산은 전체 데이터에 한번에 적용됩니다. 이 벡터화 접근법은 배열 연산을 위해 루프를 활용하여 개별적인 데이터에 접근하여 연산하는 코드를 작성하지 않고, 배열에 바로 연산하는 코드를 작성하여, 개발자가 보다 개발 빠르고 간단하게 할수 있게 해줍니다. diff --git a/content/ko/case-studies/blackhole-image.md b/content/ko/case-studies/blackhole-image.md new file mode 100644 index 0000000000..14ddb59afc --- /dev/null +++ b/content/ko/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "사례 연구: 최초의 블랙홀 사진" +sidebar: false +--- + +{{< figure src="/images/content_images/cs/blackhole.jpg" caption="**블랙홀 M87**" alt="블랙홀 사진" attr="*(사진 크레딧: Event Horizon Telescope Collaboration)*" attrlink="https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg" >}} +src = '/images/content_images/cs/blackhole.jpg' title = '블랙홀 M87' alt = '블랙홀 사진' attribution = '(사진 크레딧: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## 지구 크기의 망원경 + +[사건의 지평선 망원경(EHT)](https://eventhorizontelescope.org)은 8개의 지상 전파 망원경으로 구성된 지구 크기의 전산 망원경으로, 전례없는 감도와 해상도로 우주를 연구하는 데 쓰입니다. 초장기선 간섭 관측법(VLBI)이라는 기술을 사용하는 거대한 가상 망원경의 각해상도는 [20 마이크로각초][resolution]에 달하며 파리의 길거리 카페에서 뉴욕의 신문을 읽기에 충분한 정도입니다! + +### 주요 목표 및 결과 + +* **우주를 보는 새로운 방식:** EHT라는 획기적인 발상의 토대는 [아서 에딩턴 경][eddington]의 관측으로 아인슈타인의 일반 상대성이론이 최초로 관측적 지지를 받았던 시기인 100년 전에 마련되었습니다. + +* **블랙홀:** EHT는 처녀자리 은하단의 Messier 87(M87) 은하의 중심부에 있는 초대질량 블랙홀로 훈련되었으며 이는 지구에서 약 5500만 광년 떨어져 있습니다. 이 천체의 질량은 태양의 65억 배입니다. [100년 넘게](https://www.jpl.nasa.gov/news/news.php?feature=7385) 연구되었으나, 블랙홀을 시각적으로 볼 수 있게 구현한 바는 없었습니다. + +* **관찰과 이론의 비교:** 아인슈타인의 일반 상대성이론에 따라 과학자들은 중력의 시공간 왜곡이나 빛 흡수에 의해 어둡게 보이는 영역이 나타날 것으로 예측하였습니다. 과학자들은 이를 블랙홀의 엄청난 질량을 재는 데 이용할 수 있었죠. + +### 도전 + +* **계산의 규모** + + EHT는 급격한 대기 위상의 변동, 큰 기록 대역폭, 완전히 다르고 지리적으로 분산된 망원경 등의 문제를 포함한 막대한 데이터를 처리해야 하는 문제를 낳습니다. + +* **지나치게 많은 정보** + + EHT는 매일 350 테라바이트의 관측 결과를 생성하며, 이 정보는 헬륨으로 채운 하드 드라이브에 저장됩니다. 이토록 많은 데이터의 양과 복잡성을 줄여나가는 것은 지극히 어려운 일입니다. + +* **잘 알지 못함** + + 만약 목표가 이전에 본 적이 없는 것을 보는 것이라면, 과학자들은 어떻게 이 사진이 옳다고 입증할 수 있을까요? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT 데이터 처리 파이프라인' alt = '데이터 파이프라인' align = 'center' attribution = '(다이어그램 크레딧: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< figure src="/images/content_images/cs/bh_numpy_role.png" class="fig-center" alt="numpy의 역할" caption="**블랙홀 시각화에서 NumPy의 역할**" >}} + +## NumPy의 역할 + +데이터에 만약 문제가 있다면 어떨까요? 아니면 알고리즘이 특정 가정에 지나치게 의존할 수도 있습니다. 매개변수 하나만 달라져도 사진이 크게 바뀔까요? + +EHT는 기존 및 최첨된 이미지 재구성 기술을 모두 사용한 뒤, 개개의 팀이 데이터를 평가하도록 하여 이런 문제를 해결했습니다. 결과가 일관적이라는 것을 검증한 뒤, 이들을 결합해 최초의 블랙홀 이미지를 만들어내었습니다. + +그들의 연구는 협업 데이터 분석을 통해 과학을 발전시키는 과학적인 Python 생태계의 역할을 보여줍니다. + +{{< figure >}} +{{< figure src="/images/content_images/cs/numpy_bh_benefits.png" class="fig-center" alt="numpy를 통한 이익" caption="**활용된 주요 NumPy 기능**" >}} +{{< /figure >}} + +예를 들어, [`eht-imaging`][ehtim] Python 패키지는 VLBI 데이터를 통해 실험이나 이미지 재구성을 수행할 때 필요한 도구를 제공합니다. NumPy는 아래 소프트웨어 종속성 차트에 나와 있는 것처럼 이 패키지에서 사용되는 배열 데이터 처리의 핵심 역할을 합니다. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'numpy를 강조하는 ehtim의 종속성 지도' title = 'NumPy를 강조하는 ehtim 패키지의 소프트웨어 종속성 차트' +{{< /figure >}} + +NumPy 외에도 [SciPy](https://www.scipy.org)와 [Pandas](https://pandas.io) 등의 다른 많은 패키지가 블랙홀을 시각화하는 데이터 처리 파이프라인의 일부입니다. 표준 천문 파일 형식과 시간/좌표 변환에는 [Astropy][astropy]가 쓰였고 [Matplotlib][mpl]는 분석 과정 전체에서 블랙홀의 최종 사진을 생성하는 등 데이터를 시각화하는 데 쓰였습니다. + +## 요약 + +NumPy의 핵심 기능인 효율적이고 유용한 n차원 배열은 연구자들이 대규모 수치 데이터셋을 다룰 수 있도록 하여 최초의 블랙홀 사진을 만드는 데 토대를 제공했습니다. 이번 관측은 아인슈타인의 이론에 훌륭한 시각적 증거를 준 관측으로, 과학계에 한 획을 그은 순간이었습니다. 기술적 혁신뿐만 아니라 200명 이상의 과학자와 세계 최고의 전파 관측소 간의 국제 협력도 이루어 냈습니다. 기존의 천문학 모델을 개선한 혁신적인 알고리즘과 데이터 처리 기술이 우주의 비밀을 알아내는 데 도움을 주었습니다. + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy를 통한 이익' title = '활용된 주요 NumPy 기능' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://ko.wikipedia.org/wiki/%EC%95%84%EC%84%9C_%EC%8A%A4%ED%83%A0%EB%A6%AC_%EC%97%90%EB%94%A9%ED%84%B4#%EC%9D%BC%EB%B0%98%EC%83%81%EB%8C%80%EC%84%B1%EC%9D%B4%EB%A1%A0%EC%9D%98_%EC%8B%A4%ED%97%98%EC%A0%81_%EA%B2%80%EC%A6%9D + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/ko/case-studies/cricket-analytics.md b/content/ko/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..7dfb7ea1df --- /dev/null +++ b/content/ko/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "사례 연구: 판도를 뒤집은 크리켓 통계!" +sidebar: false +--- + +{{< figure src="/images/content_images/cs/ipl-stadium.png" caption="**인도 최대의 크리켓 축제인 IPLT20**" alt="인도 프리미어 리그 크리켓 컵 및 경기장" attr="*(사진 출처: IPLT20 (컵 및 로고) & Akash Yadav (경기장))*" attrlink="https://unsplash.com/@aksh1802" >}} +src = '/images/content_images/cs/ipl-stadium.png' title = '인도 최대의 크리켓 축제인 IPLT20' alt = '인도 프리미어 리그 크리켓 컵 및 경기장' attribution = '(사진 크레딧: IPLT20 (컵 및 로고) & Akash Yadav (경기장))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## 크리켓이란 + +인도인들이 크리켓과 사랑에 빠졌다고 해도 과언이 아닙니다. 크리켓은 인도의 거의 모든 지역 구석구석에서 시골이든 도시든 상관없이 사랑받고 있습니다. 다른 스포츠와 달리 인도의 수십억 명을 연결하는 매개체 역할을 하는 데다 남녀노소 모두에게 인기가 있습니다. 크리켓은 많은 미디어의 관심을 받고 있기도 합니다. 엄청난 [돈](https://www.statista.com/topics/4543/indian-premier-league-ipl/)과 명성이 달려 있기도 하죠. 최근 몇 년 동안, 기술이 이 분야의 판도를 뒤집어 버렸습니다. 청중들은 스트리밍 미디어, 토너먼트, 모바일 기기를 통해 실시간 크리켓 경기를 저렴하게 볼 수 있습니다. + +인도 프리미어 리그(IPL)는 2008년 설립되어 20개 팀으로 구성된 프로 크리켓 리그입니다. 이는 세계에서 가장 참가자가 많은 크리켓 이벤트 중 하나로, 2019년에 [67억 달러](https://en.wikipedia.org/wiki/Indian_Premier_League)에 달하는 가치로 추산됩니다. + +크리켓은 숫자의 게임이다 - 타자가 득점하고, 위켓이 가져간다. 크리켓 팀이 이긴 경기, 타자가 이긴 횟수 일종의 볼링 공격 등에 특정한 방식으로 반응합니다. NumPy와 같은 수치 컴퓨팅 소프트웨어로 구동되는 강력한 분석 도구를 통해 크리켓의 성능 향상과 사업 기회, 전반적인 시장, 경제학을 연구하기 위한 크리켓 숫자를 파헤칠 수 있는 능력은 큰 일이다. 크리켓 분석은 게임에 대한 흥미로운 통찰력과 게임 결과에 대한 예측 지능을 제공한다. + +오늘날, 크리켓 경기 기록의 풍부하고 거의 무한한 트로브가 있습니다. 이용 가능한 통계, 예를 들어, [ ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) 및 [cricsheet](https://cricsheet.org). 이들 및 몇몇 그러한 크리켓 데이터베이스는 최신 머신 러닝 및 예측 모델링 알고리즘을 이용한 [크리켓 분석](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances)에 사용되어 왔습니다. 게임과 관련된 전문 스포츠 기관과 함께 미디어 및 엔터테인먼트 플랫폼은 경기 승리 기회를 향상시키기 위한 주요 측정 기준을 결정하기 위한 기술 및 분석을 사용합니다. + +* 타격 성적 이동 평균, +* 점수 예측, +* 다른 상대에 맞서 선수의 체력과 경기력에 대한 통찰력을 얻기, +* 팀 구성에 대한 전략적 결정을 내리는 플레이어의 승패 기여도 + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = '경기장의 중심이 되는 크리켓 피치' alt = '볼러와 배트맨으로 이루어진 크리켓 피치' align = 'center' attribution = '(사진 크레딧: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< figure src="/images/content_images/cs/numpy_ca_benefits.png" class="fig-center" alt="NumPy를 크리켓 분석에 사용했을 때의 이익을 보여주는 다이어그램" caption="**활용된 주요 NumPy 기능**" >}} + +### 데이터 분석의 주요 목표 + +* 스포츠 데이터는 크리켓에서뿐만 아니라 [다른 스포츠](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx)에서도 팀의 전체 역량과 승리 확률을 높이는 데 쓰입니다. +* 실시간 데이터 분석은 경기 중에도 팀과 관련 사업의 변화하는 전략에 대한 통찰력을 확보하여 경제적 이익과 성장을 도모하는 데 도움이 될 수 있습니다. +* 과거 분석 외에도 예측 모델을 활용하여 상당한 수의 크런칭과 데이터 과학 노하우, 시각화 도구 및 분석에 더 새로운 관찰을 포함시킬 수 있는 기능이 필요한 가능한 일치 결과를 결정합니다. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = '자세 예측' title = '크리켓 자세 예측' attribution = '(사진 크레딧: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### 도전 + +* **데이터 정리 및 전처리** + + IPL은 크리켓을 고전적인 테스트 매치 형식에서 훨씬 더 큰 규모로 확대시켰습니다. 매 시즌 다양한 형식으로 열리는 경기의 수가 증가하고 있으며, 데이터, 알고리즘, 최신 스포츠 데이터 분석 기술, 시뮬레이션 모델 또한 증가하고 있습니다. 크리켓 데이터 분석에는 필드 매핑, 플레이어 추적, 공 추적, 플레이어의 타격 분석 및 공이 어떻게 움직이는지에 대한 각도, 스핀, 속도, 궤도 등 다른 많은 종류의 데이터를 필요로 합니다. 이 수많은 인자들은 데이터 정리 및 전처리 과정의 복잡성을 증가시켰습니다. + +* **동적 모델링** + + 크리켓에서는 다른 스포츠와 마찬가지로 다양한 선수의 수, 선수의 속성, 공이나 잠재적 행동의 가능성 등 여러 가능성을 추적할 때 많은 변수가 작용합니다. 데이터 분석 및 모델링의 복잡성은 분석 중 제시되는 예측 질문의 종류에 비례하며, 데이터 표현 및 모델에 크게 의존합니다. 타자가 다른 각도나 속도로 공을 쳤을 때 일어날 일과 같은 동적인 크리켓 경기를 예측할 때, 계산이나 데이터 비교 측면에서 상황이 훨씬 더 어려워집니다. + +* **예측 분석의 복잡성** + + 크리켓에서 의사결정의 상당 부분은 '볼 전달이 특정 유형일 경우 타자가 얼마나 자주 특정 종류의 샷을 하느냐', '배트맨이 특정 방식으로 전달에 반응하면 볼러가 라인과 길이를 어떻게 바꾸느냐' 등의 질문에 따른 것입니다. 이러한 예측 분석 쿼리는 매우 세분화된 데이터셋 가용성과 데이터를 합성하고 정확도가 높은 생성 모델을 만들 수 있는 기능이 필요합니다. + +## 크리켓 분석에서 NumPy의 역할 + +스포츠 분석은 현재 매우 활발한 분야입니다. 많은 연구자들과 기업체에서는 최신 머신러닝 및 AI 기법을 쓰는 대신 [NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx)나 Scikit-learn, SciPy, Matplotlib, Jupyter같은 PyData 패키지를 이용합니다. NumPy는 크리켓과 관련된 여러 스포츠 통계에 다음과 같이 쓰였습니다. + +* **통계적 분석:** NumPy의 수치적 기능은 다양한 플레이어 및 게임 전술에서 관찰 데이터 또는 경기의 통계적 중요성을 추정하는 데 도움을 주거나, 생성적 또는 정적 모델과 비교하여 게임 결과를 추정합니다. 전술 분석에는 [인과 분석](https://amplitude.com/blog/2017/01/19/causation-correlation) 및 [빅데이터 접근법](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/)이 쓰입니다. + +* **데이터 시각화:** 그래프 그리기 및 [시각화](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b)는 다양한 데이터셋 사이의 관계를 볼 수 있는 유용한 관점을 제공해 줍니다. + +## 요약 + +스포츠 분석은 프로 게임의 판도를 바꿀 것입니다. 특히 최근까지는 주로 "직감"이나 과거부터 내려오던 것을 답습하는 식으로 이뤄진 전략적 의사 결정에 대해서 말입니다. NumPy는 데이터 분석, 기계 학습 및 AI 알고리즘과 관련하여 더욱 높은 수준의 기능을 제공하는 Python 패키지들의 견고한 기반을 제공합니다. 이들 패키지는 크리켓 경기뿐 아니라 크리켓 관련 추론이나 사업을 추진하면서, 판도를 바꿀만한 결정을 이끌어 내는 영감을 실시간으로 제공하는 데 널리 이용되고 있습니다. 크리켓 경기의 결과로 이어지는 숨겨진 매개변수, 패턴이나 속성을 찾는 것은 관계자가 숫자와 통계에 숨겨진 게임을 분석하는 방법을 파악하는 데 도움이 됩니다. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'NumPy를 크리켓 분석에 적용했을 때의 이익을 보여주는 다이어그램' title = '활용된 주요 NumPy 기능' +{{< /figure >}} diff --git a/content/ko/case-studies/deeplabcut-dnn.md b/content/ko/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..217e1565f2 --- /dev/null +++ b/content/ko/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "사례 연구: DeepLabCut 3D 포즈 추정" +sidebar: false +--- + +{{< figure src="/images/content_images/cs/mice-hand.gif" class="fig-center" caption="**DeepLapCut을 활용한 쥐의 손 움직임 분석**" alt="쥐 손 애니메이션" attr="*(출처: www.deeplabcut.org )*" attrlink="http://www.mousemotorlab.org/deeplabcut">}} +src = '/images/content_images/cs/mice-hand.gif' title = 'DeepLapCut을 활용한 쥐의 손 움직임 분석' alt = '쥐 손 애니메이션' attribution = '(출처: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} 오픈소스 소프트웨어는 생물 의학의 발전을 가속화하고 있습니다. DeepLabCut은 딥 러닝을 사용하여 동물 행동에 대한 자동화된 비디오 분석을 가능하게 합니다. +> +> {{< /blockquote >}} + +## DeepLabCut 소개 + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) 은 전 세계 수백 개 기관의 연구원이 인간 수준의 정확도로 매우 적은 훈련 데이터로 실험실 동물의 행동을 추적할 수 있는 오픈 소스 도구 상자입니다. DeepLabCut 기술을 통해 과학자들은 동물 종과 시간 척도에 걸쳐 운동 제어 및 행동에 대한 과학적 이해를 더 깊이 탐구할 수 있습니다. + +신경 과학, 의학 및 생체 역학을 포함한 여러 연구 분야에서 동물의 움직임을 추적한 데이터를 사용합니다. DeepLabCut은 필름에 기록된 동작을 구문 분석하여 인간과 다른 동물이 하는 일을 이해하는 데 도움을 줍니다. 심층 신경망 기반 데이터 분석과 함께 태깅 및 모니터링의 힘든 작업에 자동화를 사용하는 DeepLabCut은 영장류, 생쥐, 물고기, 파리 등과 같은 동물 관찰과 관련된 과학적 연구를 훨씬 빠르고 정확하게 만듭니다. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = '경주마 신체 부위의 위치를 추적하는 색 점' alt = '경주마 애니메이션' attribution = '(출처: Mackenzie Mathis)' +{{< /figure >}} + +DeeDeepLabCut의 동물 자세 추출을 통한 동물의 비침습적 행동 추적은 생체 역학, 유전학, 행동학 & 신경 과학과 같은 영역에서 과학적 추구에 매우 중요합니다. 동적으로 변화하는 배경에서 마커 없이 비디오에서 동물 포즈를 비침습적으로 측정하는 것은 기술적으로 뿐만 아니라 필요한 리소스 요구 사항 및 필요한 훈련 데이터 측면에서 계산적으로 어려운 일입니다. + +DeepLabCut을 사용하면 연구자가 피험자의 자세를 추정하고 Python 기반 소프트웨어 툴킷을 통해 행동을 정량화할 수 있습니다. DeepLabCut을 사용하여 연구원은 비디오에서 고유한 프레임을 식별하고 맞춤형 GUI를 사용하여 수십 개의 프레임에서 특정 신체 부위에 디지털 레이블을 지정한 다음 DeepLabCut의 딥 러닝 기반 포즈 추정 아키텍처가 나머지 프레임에서 동일한 기능을 선택하는 방법을 학습할 수 있습니다. 그것은 파리와 생쥐와 같은 일반적인 실험실 동물에서 [치타][cheetah-movement]와 같은 좀 더 특이한 동물에 이르기까지 다양한 동물 종에 걸쳐 작동합니다. + +DeepLabCut은 [전이 학습](https://arxiv.org/pdf/1909.11229), 이라는 원리를 사용하여 필요한 훈련 데이터의 양을 크게 줄이고 훈련 기간의 수렴 속도를 높입니다. 필요에 따라 사용자는 실시간 실험 피드백과 결합할 수 있는 더 빠른 추론(예: MobileNetV2)을 제공하는 다양한 네트워크 아키텍처를 선택할 수 있습니다. DeepLabCut은 원래 [DeeperCut](https://arxiv.org/abs/1605.03170),이라는 최고 성능의 인간 포즈 추정 아키텍처의 특징 검출기를 사용했습니다. 이 이름에 영감을 받았습니다. 이제 패키지가 추가 아키텍처, 증강 방법 및 전체 프런트 엔드 사용자 경험을 포함하도록 크게 변경되었습니다. 또한 대규모 생물학적 실험을 지원하기 위해 DeepLabCut은 능동적 학습 기능을 제공하므로 사용자는 시간이 지남에 따라 트레이닝 세트를 늘려 엣지 케이스를 다루고 특정 상황 내에서 포즈 추정 알고리즘을 강력하게 만들 수 있습니다. + +최근에는, 영장류의 안면 분석부터 개 자세까지 다양한 종과 실험 조건에 대해 사전 훈련된 모델을 제공하는 [DeepLabCut 모델 동물원](http://www.mousemotorlab.org/dlc-modelzoo) 이 도입되었습니다. 예를 들어 새 데이터의 레이블 지정이나 신경망 교육 없이 클라우드에서 실행할 수 있으며 프로그래밍 경험이 필요하지 않습니다. + +### 주요 목표 및 결과 + +* **과학적 연구를 위한 동물 자세 분석 자동화:** + + DeepLabCut 기술의 주요 목표는 다양한 환경에서 동물의 자세를 측정하고 추적하는 것입니다. 예를 들어, 이 데이터는 뇌가 움직임을 제어하는 ​​방법을 이해하거나 동물이 사회적으로 상호 작용하는 방식을 설명하기 위해 신경 과학 연구에서 사용될 수 있습니다. 연구원들은 DeepLabCut으로 [성능이 10배 향상](https://www.biorxiv.org/content/10.1101/457242v1) 되는 것을 관찰했습니다. 포즈는 최대 1200 초당 프레임 수(FPS)로 오프라인에서 추론할 수 있습니다. + +* **포즈 추정을 위해 사용하기 쉬운 Python 툴킷 생성:** + + DeepLabCut은 연구자들이 쉽게 채택할 수 있는 사용하기 쉬운 도구 형태로 동물 자세 추정 기술을 공유하고 싶었습니다. 그래서 그들은 프로젝트 관리 기능도 포함된 완전하고 사용하기 쉬운 Python 툴킷을 만들었습니다. 이를 통해 포즈 추정의 자동화는 물론 DeepLabCut Toolkit 사용자가 데이터 세트 수집 단계부터 공유 가능하고 재사용 가능한 분석 파이프라인 생성에 이르기까지 프로젝트 전체를 관리할 수 있습니다. + + [툴킷][DLCToolkit]은 현재 오픈 소스로 제공됩니다. + + 일반적인 DeepLabCut 작업 흐름에는 다음이 포함됩니다. + + - 능동적 학습을 통한 훈련 세트 생성 및 정제 + - 특정 동물 및 시나리오를 위한 맞춤형 신경망 생성 + - 동영상에 대한 대규모 추론을 위한 코드 + - 통합 시각화 도구를 사용하여 추론 도출 + +{{< figure >}} +{{< figure src="/images/content_images/cs/deeplabcut-workflow.png" class="fig-center" caption="**DeepLabCut 워크플로우**" alt="워크플로우" attr="*(출처: Mackenzie Mathis)*" attrlink="https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962">}} +{{< figure >}} + +### 도전 + +* **속도** + + 동물의 행동을 측정하고 동시에 과학 실험을 보다 효율적이고 정확하게 하기 위해 동물 행동 비디오를 빠르게 처리합니다. 동적으로 변화하는 배경에서 마커 없이 실험실 실험을 위해 상세한 동물 포즈를 추출하는 것은 기술적으로 뿐만 아니라 필요한 리소스 요구 사항 및 필요한 교육 데이터 측면에서 어려울 수 있습니다. 컴퓨터 비전 전문 지식과 같은 기술 없이도 사용하기 쉬운 도구를 생각해내어 과학자들이 보다 실제 상황에서 연구를 수행할 수 있도록 하는 것은 해결해야 할 사소한 문제가 아닙니다. + +* **조합론** + + 조합론은 여러 사지의 움직임을 개별 동물 행동으로 조립하고 통합하는 것을 포함합니다. 키포인트와 연결을 개별 동물 움직임으로 조립하고 시간에 따라 연결하는 것은 특히 실험 비디오에서 여러 동물 움직임을 추적하는 경우 강력한 수치 분석이 필요한 복잡한 프로세스입니다. + +* **데이터 처리** + + 마지막으로 배열 조작 - 다양한 이미지, 대상 텐서 및 키포인트에 해당하는 대규모 배열 스택을 처리하는 것은 상당히 어렵습니다. + +{{< figure src="/images/content_images/cs/numpy_dlc_benefits.png" class="fig-center" alt="numpy를 통한 이익" caption="**활용한 주요 NumPy 기능**" >}} +src = '/images/content_images/cs/pose-estimation.png' title = '포즈 추정 변수 및 복잡도' alt = '난점 설명' align = 'center' attribution = '(출처: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## 포즈 추정 문제를 해결하는 NumPy의 역할 + +NumPy는 행동 분석을 위한 고속 수치 계산에 대한 DeepLabCut 기술의 핵심 요구 사항을 해결합니다. NumPy 외에도 DeepLabCut은 [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) 그리고 [Tensorflow](https://www.tensorflow.org) 와 같이 핵심에서 NumPy를 활용하는 다양한 Python 소프트웨어를 사용합니다. + +NumPy의 다음 기능은 이미지 처리, 조합 요구 사항 및 DeepLabCut 포즈 추정 알고리즘의 빠른 계산 요구 사항을 해결하는 데 중요한 역할을 했습니다. + +* 벡터화 +* 마스킹된 어레이 작업 +* 선형 대수학 +* 무작위 샘플링 +* 큰 배열의 재구성 + +DeepLabCut은 툴킷에서 제공하는 워크플로 전체에서 NumPy의 어레이 기능을 활용합니다. 특히, NumPy는 사람의 주석 레이블 지정을 위한 개별 프레임 샘플링과 주석 데이터 작성, 편집 및 처리에 사용됩니다. TensorFlow 내에서 신경망은 DeepLabCut 기술로 수천 번의 반복을 통해 훈련되어 프레임에서 실측 주석을 예측합니다. 이를 위해 이미지 대 이미지 변환 문제로 포즈 추정을 캐스팅하기 위해 목표 밀도(점수 지도)가 생성됩니다. 신경망을 강력하게 만들기 위해 다양한 기하 및 이미지 처리 단계에 따라 대상 스코어맵을 계산해야 하는 데이터 확대가 사용됩니다. 학습을 빠르게 하기 위해 NumPy의 벡터화 기능이 활용됩니다. 추론을 위해 대상 스코어맵에서 가장 가능성이 높은 예측을 추출해야 하며 효율적으로 "개별 동물을 조립하기 위해 예측을 연결"해야 합니다. + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut 워크플로우' alt = '워크플로우' attribution = '(출처: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## 요약 + +행동을 관찰하고 효율적으로 설명하는 것은 현대 행동학, 신경과학, 의학 및 기술의 핵심 테넌트입니다. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf)을 사용하면 연구자가 피험자의 자세를 추정하여 행동을 정량화할 수 있습니다. DeepLabCut Python 툴킷은 작은 훈련 이미지 세트만으로 인간 수준의 라벨링 정확도 내에서 신경망을 훈련할 수 있습니다. 따라서 실험실에서의 행동 분석뿐만 아니라 잠재적으로 스포츠, 보행 분석, 의학 및 재활 연구에도 응용 분야를 확장합니다. DeepLabCut 알고리즘이 직면한 복잡한 조합, 데이터 처리 문제는 NumPy의 배열 조작 기능을 사용하여 해결됩니다. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy를 통한 이익' title = '활용된 주요 NumPy 기능' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/ko/case-studies/gw-discov.md b/content/ko/case-studies/gw-discov.md new file mode 100644 index 0000000000..e72252a423 --- /dev/null +++ b/content/ko/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "사례 연구: 중력파의 발견" +sidebar: false +--- + +{{< figure src="/images/content_images/cs/gw_sxs_image.png" class="fig-center" caption="**중력파**" alt="이항 결합하며 중력파를 생성하는 블랙홀" attr="*(사진 크레딧: LIGO의 Simulating eXtreme Spacetimes (SXS) 프로젝트)*" attrlink="https://youtu.be/Zt8Z_uzG71o" >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = '중력파' alt = '이항 결합하며 중력파를 생성하는 블랙홀' attribution = '(사진 크레딧: LIGO의 Simulating eXtreme Spacetimes (SXS) 프로젝트)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## [중력파](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) 그리고 [LIGO](https://www.ligo.caltech.edu)에 대해 + +중력파는 '시공간 천막'의 물결이라고 할 수 있으며, 두 블랙홀의 충돌이나 병합, 쌍성의 결합 혹은 초신성과 같이 우주가 대격변하는 사건으로부터 생성됩니다. 중력파를 관측하는 것은 비단 중력 연구에 도움을 줄 뿐만 아니라 먼 우주에서의 모호한 현상들과 이것이 미치는 영향에 대해서도 이해할 수 있게 해 줍니다. + +병합에서 방출되는 중력파는 슈퍼컴퓨터를 사용하는 무차별 대입 수치 상대성 이론을 제외하고는 어떤 기술로도 계산할 수 없습니다. LIGO가 수집하는 데이터의 양은 중력파 신호가 작은 만큼 이해할 수 없을 정도로 많습니다. 그들 각각은 레이저 간섭계를 사용하는 수 킬로미터 규모의 중력파 탐지기를 가지고 있습니다. LIGO Scientific Collaboration(LSC) 은 미국 전역과 90개 이상의 대학 및 연구 기관에서 지원하는 14개국의 대학에서 온 1000명 이상의 과학자 그룹입니다. 약 250명의 학생들이 협력에 적극적으로 기여하고 있습니다. LIGO의 새로운 발견은 중력파가 지구를 통과할 때 공간과 시간에 미치는 미세한 교란을 측정함으로써 중력파 자체를 처음으로 관찰한 것입니다. 그것은 우주의 뒤틀린 측면, 즉 뒤틀린 시공간에서 만들어진 물체와 현상을 탐구하는 새로운 천체물리학의 영역을 열었습니다. + + +### 주요 목표 + +* [임무](https://www.ligo.caltech.edu/page/what-is-ligo)는 우주에서 가장 격렬하고 에너지가 넘치는 일부 과정에서 발생하는 중력파를 감지하는 것이지만, LIGO가 수집하는 데이터는 중력, 상대성 이론, 천체 물리학, 우주론, 입자 물리학 및 핵 물리학을 포함한 많은 물리학 영역에 광범위한 영향을 미칠 수 있습니다. +* 노이즈에서 신호를 식별하고, 관련 신호를 필터링하고, 관찰된 데이터의 유의성을 통계적으로 추정하기 위해 복잡한 수학을 포함하는 수치 상대성 계산을 통해 관측된 데이터를 고속 처리합니다. +* 이진/수치 상의 결과를 이해할 수 있도록 데이터 시각화를 진행합니다. + + + +### 도전 + +* **계산** + + 중력파는 매우 작은 효과를 생성하고 물질과의 상호 작용이 작기 때문에 감지하기 어렵습니다. LIGO의 모든 데이터를 처리하고 분석하려면 방대한 컴퓨팅 인프라가 필요합니다. 신호의 수십억 배에 해당하는 노이즈를 처리한 후에도 여전히 매우 복잡한 상대성 방정식과 엄청난 양의 데이터가 있어 계산상의 어려움이 있습니다. [바이너리 병합 분석에 필요한 O(10^7) CPU 시간](https://youtu.be/7mcHknWWzNI)은 6개의 전용 LIGO 클러스터에 퍼져 있습니다. + +* **데이터 홍수** + + 관찰 장치가 더 민감하고 신뢰할 수 있게 됨에 따라 데이터 폭증과 건초더미에서 바늘 찾기로 인해 제기되는 문제가 여러 배로 증가합니다. LIGO는 매일 테라바이트의 데이터를 생성합니다! 이 데이터를 이해하려면 탐지할 때마다 막대한 노력이 필요합니다. 예를 들어, LIGO가 수집하는 신호는 슈퍼컴퓨터에서 수십만 개의 가능한 중력파 서명 템플릿과 일치해야 합니다. + +* **시각화** + + 아인슈타인의 방정식을 슈퍼컴퓨터를 사용하여 풀 수 있을 만큼 충분히 이해하는 것과 관련된 장애물이 처리되면 다음 큰 과제는 데이터를 인간의 두뇌가 이해할 수 있도록 만드는 것입니다. 시뮬레이션 모델링과 신호 감지에는 효과적인 시각화 기술이 필요합니다. 시각화는 또한 이미징 및 시뮬레이션을 통해 더 많은 청중이 결과를 더 쉽게 이해할 수 있게 될 때까지 수치 상대성에 충분한 중요성을 부여하지 않은 순수 과학 애호가의 눈에 수치 상대성에 더 많은 신뢰성을 제공하는 역할을 합니다. 최신 실험 입력 및 통찰력을 사용하여 복잡한 계산 및 렌더링, 이미지 다시 렌더링 및 시뮬레이션의 속도는 이 영역의 연구자에게 도전이 되는 시간 소모적인 활동이 될 수 있습니다. + +{{< figure >}} +{{< figure src="/images/content_images/cs/gwpy-numpy-dep-graph.png" class="fig-center" alt="gwpy-numpy depgraph" caption="**Dependency graph showing how GwPy package depends on NumPy**" >}} +{{< figure src="/images/content_images/cs/numpy_gw_benefits.png" class="fig-center" alt="numpy를 통한 이익" caption="**활용된 주요 NumPy 기능**" >}} + +## 중력파 검출에서 NumPy의 역할 + +병합에서 방출되는 중력파는 슈퍼컴퓨터를 사용하는 무차별 대입 수치 상대성 이론을 제외하고는 어떤 기술로도 계산할 수 없습니다. LIGO가 수집하는 데이터의 양은 중력파 신호가 작은 만큼 이해할 수 없을 정도로 많습니다. + +Python용 표준 수치 분석 패키지인 NumPy는 LIGO의 GW 탐지 프로젝트 동안 수행되는 다양한 작업에 사용되는 소프트웨어에서 활용되었습니다. NumPy는 복잡한 수학 및 데이터 조작을 고속으로 해결하는 데 도움이 되었습니다. 몇 가지 예시를 들자면: + +* [신호 처리](https://www.uv.es/virgogroup/Denoising_ROF.html): 글리치 검출, [잡음 식별 및 데이터 결정](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* 데이터 수집: 어떤 데이터를 분석할 수 있을지 결정하고, 모래 속 바늘과 같이 미미한 신호가 있는지 파악 +* 통계적 분석: 관측 데이터의 통계적 유의성 추정, 모델을 비교하여 신호 매개변수(예: 별의 질량, 회전 속도, 거리 등)를 추정 +* 데이터의 시각화 + - 시계열 데이터 + - 스펙트로그램 +* 상관 분석 연산 +* [GwPy](https://gwpy.github.io/docs/stable/overview.html) 및 [PyCBC](https://pycbc.org)와 같은 중력파 데이터 분석에서 개발된 주요 [소프트웨어](https://github.com/lscsoft)는 후드 아래에서 NumPy 및 AstroPy를 사용하여 중력파 검출기에서 데이터를 연구하기 위한 유틸리티, 도구 및 방법에 객체 기반 인터페이스를 제공합니다. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy 종속성' title = 'GwPy 패키지가 어떻게 NumPy에 종속하는지를 나타내는 종속성 그래프' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy 종속성' title = 'PyCBC 패키지가 NumPy에 종속하는지를 나타내는 종속성 그래프' +{{< /figure >}} + +## 요약 + +중력파 검출을 통하여 연구자들은 완전히 예상치 못한 현상을 발견하게 됨으로써, 알려진 것 중 가장 난해한 천체물리학적 현상에 대하여 많은 사람들에게 새로운 통찰을 주었습니다. 숫자 계산 및 데이터 시각화는 과학자가 과학적 관찰에서 수집한 데이터에 대한 통찰력을 얻고 결과를 이해하는 데 도움이 되는 중요한 단계입니다. 계산은 복잡하며 실제 관찰 데이터 및 분석을 제공하는 컴퓨터 시뮬레이션을 사용하여 시각화하지 않는 한 사람이 이해할 수 없습니다. NumPy는 matplotlib, pandas 및 scikit-learn과 같은 다른 Python 패키지와 함께 [연구원](https://www.gw-openscience.org/events/GW150914/)이 복잡한 질문에 답하고 우주에 대한 이해의 새로운 지평을 발견할 수 있도록 합니다. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy를 통한 이익' title = '활용된 주요 NumPy 기능' +{{< /figure >}} diff --git a/content/ko/citing-numpy.md b/content/ko/citing-numpy.md new file mode 100644 index 0000000000..cf1458e657 --- /dev/null +++ b/content/ko/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: NumPy 인용하기 +sidebar: false +--- + +진행한 연구에서 NumPy가 중요한 부분을 차지하고 있고 학술지에 출판한다면, 아래의 논문을 참조문헌에 써주시길 바랍니다. + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([링크](https://www.nature.com/articles/s41586-020-2649-2)). + +_BibTeX 형식:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/ko/code-of-conduct.md b/content/ko/code-of-conduct.md new file mode 100644 index 0000000000..b8dea1fd9d --- /dev/null +++ b/content/ko/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy 이용 약관 +sidebar: false +aliases: + - /conduct.html +--- + +### 소개 + +이 이용 약관은 모든 공개 및 비공개 메일링 리스트, 이슈 트래커, 위키, 블로그, 트위터 및 커뮤니티에서 사용하는 기타 커뮤니케이션 채널을 포함하여 NumPy 프로젝트에서 관리하는 모든 공간에 적용됩니다. NumPy 프로젝트는 대면 이벤트를 조직하지 않지만 커뮤니티와 관련된 이벤트에는 이와 유사한 약관이 있어야 합니다. + +이 이용 약관은 NumPy 커뮤니티에 공식적으로 또는 비공식적으로 참여하거나 프로젝트 관련 활동에서, 특히 프로젝트를 대표할 때 어떤 역할에서든 프로젝트와의 관계를 주장하는 모든 사람이 준수해야 합니다. + +이 약관는 철저하거나 완전하지 않습니다. 협력적이고 공유되는 환경과 목표에 대한 우리의 공통적인 이해를 요약하는데 도움이 됩니다. 문자 그대로 뿐만 아니라, 정신에도 이 약관을 따르려 노력해 주시기 바랍니다. 이를 통해 주변 커뮤니티를 더욱 풍요롭게 하는 친근하고 생산적인 환경을 조성해주세요. + +### 구체적인 가이드라인 + +우리는 다음을 위해 노력합니다: + +1. 개방적이 되세요. 우리 커뮤니티에 누구든 참여할 수 있습니다. 민감한 내용이 아닌 이상, 프로젝트 관련 메시지에는 공개적인 의사소통 방법을 사용하는 것을 선호합니다. 이는 도움이나 프로젝트 지원과 관련된 메시지에도 적용됩니다. 공개적인 지원 요청은 질문에 대한 대답이 더욱 쉽게 이루어지며, 대답에 대한 우발적인 오류가 보다 쉽게 감지되고 수정될 수 있도록 도와줍니다. +2. 공감하며, 환영하며, 친절하며, 인내심을 가지세요. 우리는 갈등을 해결하기 위해 함께 노력하며, 선의의 의도를 기대합니다. 때로는 모두가 어떤 형태의 좌절을 경험할 수 있지만, 우리는 그것이 개인적인 공격으로 이어지지 않도록 허용하지 않습니다. 사람들이 불편하거나 위협받는 느낌을 가지는 커뮤니티는 생산적이지 않습니다. +3. 협력적이 되세요. 우리의 작업은 다른 사람들에 의해 사용될 것이며, 우리 역시 다른 사람들의 작업에 의존할 것입니다. 프로젝트의 이익을 위해 무언가를 만들 때, 우리는 다른 사람들에게 어떻게 작동하는지 설명할 의향이 있습니다. 이를 통해 다른 사람들이 그 작업을 발전시켜 더욱 좋은 결과물을 만들 수 있도록 도와줄 수 있습니다. 우리가 내린 어떤 결정도 사용자와 동료에게 영향을 미치며, 이러한 결과를 신중하게 고려하여 결정을 내리게 됩니다. +4. 호기심을 가져보세요. 아무도 모든 것을 알수는 없습니다! 미리 질문을 하면 나중에 많은 문제를 예방할 수 있으므로, 우리는 질문하는 것을 장려합니다. 단, 적절한 포럼으로 질문을 옮길 수도 있습니다. 우리는 답변을 빠르고 유용하게 제공하기 위해 최선을 다할 것입니다. +5. 사용하는 말에 신중하게 대해주세요. 우리는 의사소통 시 신중하고 예의 바른 태도를 유지하며, 우리 자신의 언어에 대한 책임을 집니다. 다른 사람들에게 친절하게 대하세요. 다른 참가자들을 모욕하거나 비하하지 마세요. 우리는 괴롭힘 및 다른 형태의 배제 행위를 용인하지 않습니다. 이러한 행위에는 다음과 같은 것들이 포함됩니다: + * 다른 사람을 향한 폭력적인 위협이나 언어. + * 성 차별, 인종 차별 또는 기타 차별적인 농담 및 언어. + * 성적으로 노골적이거나 폭력적인 자료 게시. + * 다른 사람의 개인 식별 정보를 게시(또는 게시하겠다고 위협)("신상 털기"). + * 발신자의 동의 없이 비공개 또는 비공개로 전송된 이메일과 같은 비공개 콘텐츠 또는 IRC 채널 기록과 같은 기록되지 않은 포럼을 공유. + * 개인적인 모욕, 특히 인종차별적이거나 성차별적인 용어를 사용하는 경우. + * 달갑지 않은 성적 관심. + * 과도한 욕설. 욕설은 삼가해주세요; 사람들은 욕에 대한 민감도가 크게 다릅니다. + * 타인에 대한 반복적인 괴롭힘. 일반적으로 누군가가 중지를 요청하면 중지합니다. + * 위의 행동을 옹호하거나 장려하는 행위. + +### 다양성 선언 + +NumPy 프로젝트는 모든 사람의 참여를 환영하고 장려합니다. 우리는 모두가 참여하는 것을 즐기는 커뮤니티가 되기 위해 최선을 다하고 있습니다. 항상 개인의 취향을 수용할 수는 없지만 모든 분들께 친절하게 대할 수 있도록 최선을 다하고 있습니다. + +당신이 자신을 어떻게 식별하든 다른 사람들이 당신을 어떻게 인식하든 상관없이 우리는 당신을 환영합니다. 어떤 목록도 포괄적이기를 바랄 수는 없지만 다음과 같은 다양성을 명시적으로 존중합니다: 연령, 문화, 민족, 유전자형, 성 정체성 또는 성 표현, 언어, 출신 국가, 신경형, 표현형, 정치적 신념, 직업, 인종, 종교, 성적 지향, 사회 경제적 지위, 하위 문화 및 기술적 능력 등을 이용 약관과 상충하지 않는 범위 안에서. + +우리는 모든 언어에 능통한 사람들을 환영하지만 NumPy 개발은 영어로 진행됩니다. + +NumPy 커뮤니티의 행동 표준은 위의 이용 약관에 자세히 설명되어 있습니다. 커뮤니티의 참가자는 모든 상호 작용에서 이러한 표준을 유지하고 다른 사람들도 그렇게 하도록 도와야 합니다(다음 섹션 참조). + +### 신고 지침 + +우리는 인터넷 통신이 명백하고 노골적인 남용에서 시작되거나 악화되는 것이 매우 흔한 일이라는 것을 알고 있습니다. 우리는 또한 때때로 사람들이 나쁜 하루를 보내거나 이 이용 약관의 일부 지침을 인식하지 못할 수 있음을 알고 있습니다. 본 약관 위반에 대응하는 방법을 결정할 때 이 점을 염두에 두십시오. + +명백히 의도적인 위반의 경우 이용 약관 위원회(아래 참조) 에 보고하십시오. 의도하지 않은 위반일 가능성이 있는 경우, 그 사람에게 회신하고 이 이용 약관을 지적할 수 있습니다(공개적이든 비공개적이든 가장 적절한 방식으로). 그렇게 하고 싶지 않다면 이용 약관 위원회에 직접 보고하거나 비밀리에 위원회에 조언을 구하십시오. + +numpy-conduct@googlegroups.com 으로 NumPy 윤리 강령 위원회에 문제를 보고할 수 있습니다. + +현재 위원회는 다음과 같이 구성되어 있습니다. + +* Stéfan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +귀하의 보고서가 위원회 구성원과 관련이 있거나 보고서를 처리하는 데 이해 상충이 있다고 생각하는 경우 귀하의 보고서를 고려하지 않을 것입니다. 또는 어떤 이유로든 위원회에 보고하는 것이 불편하다고 느끼면 NumFOCUS 고위 직원에게 연락하셔도 됩니다. [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### 신고 해결 & 이용약관 강령 + +_이 섹션은 가장 중요한 사항을 요약하고 자세한 내용_은 [NumPy 행동 강령 - 보고에 대한 후속 조치 방법](/report-handling-manual)에서 찾을 수 있습니다. + +우리는 모든 불만을 조사하고 대응할 것입니다. NumPy 행동 강령 위원회와 NumPy 운영 위원회(관련된 경우) 는 신고자의 신원을 보호하고 신고 내용을 기밀로 취급합니다(신고자가 달리 동의하지 않는 한). + +심각하고 명백한 위반의 경우, 예: 개인적인 위협이나 폭력적, 성차별적 또는 인종차별적 언어를 사용하는 경우 NumPy 통신 채널에서 발신자를 즉시 연결 해제합니다. 자세한 내용은 설명서를 참조하십시오. + +본 행동 강령의 명백하고 명백한 위반과 관련되지 않은 경우 접수된 행동 강령 위반 보고서에 따라 조치를 취하는 절차는 다음과 같습니다. + +1. 보고서를 수신 확인, +2. 합리적인 토론/피드백, +3. 중재(피드백이 도움이 되지 않은 경우, 신고자와 피신고자 모두 동의하는 경우에만), +4. 행동 강령 위원회의 투명한 결정([해결책](/report-handling-manual/#resolutions) 참조) 을 통한 집행. + +위원회는 가능한 한 빨리, 최대 72시간 이내에 보고에 응답할 것입니다. + +### 끝내며 + +내용과 영감을 얻은 다음 문서의 배후에 있는 그룹에 감사드립니다. + +- [SciPy 이용 약관](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/ko/community.md b/content/ko/community.md new file mode 100644 index 0000000000..7a12d27e8d --- /dev/null +++ b/content/ko/community.md @@ -0,0 +1,66 @@ +--- +title: 커뮤니티 +sidebar: false +--- + +NumPy는 다양한 [기여자](/teams/) 집단이 개발하며 커뮤니티에 의해 유지되는 오픈소스 프로젝트입니다. NumPy 운영진들은 개방적이며 포용적이고 긍정적인 커뮤니티를 만들기 위해 상당한 노력을 기울여오고 있습니다. 커뮤니티를 발전시키기 위한 다른 이용자들과의 상호작용에 대한 가이드라인은 [NumPy 이용약관](/code-of-conduct)을 통해 확인하실 수 있습니다. + +NumPy 커뮤니티에서는 배우고, 지식을 공유하고, 다른 사람들과 협력할 수 있는 여러 커뮤니케이션 채널을 제공합니다. + + +## 온라인으로 참여하기 + +NumPy 프로젝트 및 커뮤니티에 곧장 참여할 수 있는 방법들입니다. _사용자와 커뮤니티 회원이 사용 중 질문에 대하여 서로 도움을 주고받기를 권장한다는 것을 명심하십시오. [도움말](/gethelp)을 참고하세요._ + + +### [NumPy 메일링 리스트](https://mail.python.org/mailman/listinfo/numpy-discussion) + +이 리스트는 NumPy 신기능 추가, NumPy 로드맵 변경 등 모든 종류의 프로젝트 전체 의사 결정과 같은 장기적인 토론을 이끄는 주요 포럼이라 할 수 있습니다. 출시, 개발자 모임, 일반 모임, 컨퍼런스 강연과 같은 NumPy에 대한 공지도 이 리스트를 통해 받아볼 수 있습니다. + +리스트에 회신하려면 (다른 발신자에게 회신하기보다는) 하단의 게시물을 이용하십시오. 또, 자동 발신 메일에 회신하지 마십시오. 검색 가능한 아카이브는 [여기](https://mail.python.org/archives/list/numpy-discussion@python.org/)에서 이용할 수 있습니다. + +*** + +### [GitHub issue tracker](https://github.com/numpy/numpy/issues) + +- 버그 제보 (예: "`np.arange(3).shape` returns `(5,)`, when it should return `(3,)`"); +- 문서 관련 문제점 (예: "I found this section unclear"); +- 기능 요청 (예: "I would like to have a new interpolation method in `np.percentile`"). + +_GitHub은 보안 취약점을 제보하는 곳이 아님을 명심하십시오. NumPy의 보안 취약점을 발견한 것 같으시다면, [여기](https://tidelift.com/docs/security)에서 제보하십시오._ + +*** + +### [Slack](https://numpy-team.slack.com) + +NumPy에 _기여하는_ 방법에 대하여 질문하는 실시간 채팅방입니다. 여기는 비공개 공간으로, 공용 메일링 리스트나 GitHub에 질문 또는 아이디어를 올리는 것을 주저하는 사람들을 위한 곳입니다. [여기](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy)에서 자세한 내용과 초대를 받는 방법을 알아보세요. + + +## 학술 그룹 및 모임 + +NumPy와 데이터 과학 및 과학적 컴퓨팅을 위한 Python 패키지의 생태계에 대해 자세히 알아보기 위하여, 지역 모임이나 학술 그룹을 찾고 싶다면 [PyData 모임](https://www.meetup.com/pro/pydata/) (150개 이상의 모임, 10만 명 이상의 회원) 사이트를 돌아보시는 것을 추천해 드립니다. + +NumPy에서도 가끔 자체 팀이나 관심 있는 기여자들을 위하여 직접 모임을 조직하기도 합니다. 보통 몇 달 전부터 미리 계획되며 [메일링 리스트](https://mail.python.org/mailman/listinfo/numpy-discussion) 및 [트위터](https://twitter.com/numpy_team)로 해당 사실을 알립니다. + + +## 컨퍼런스 + +NumPy 프로젝트에서는 자체 컨퍼런스를 추진하지 않습니다. 보통 NumPy 관리자나 기여자, 사용자들에게 가장 인기 있는 컨퍼런스는 SciPy나 PyData 쪽 컨퍼런스입니다. + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData 컨퍼런스](https://pydata.org/event-schedule/) (세계 곳곳의 여러 나라에서 1년에 15~20개의 이벤트를 개최합니다) + +이런 컨퍼런스 대부분에는 NumPy를 배우는 튜토리얼의 날이나 NumPy 혹은 관련 오픈소스 프로젝트에 기여하는 방법을 배울 수 있는 장이 마련되어 있습니다. + + +## NumPy 커뮤니티에 가입하기 + +더욱 성장하기 위해, NumPy 프로젝트에서는 당신의 경험과 의욕을 필요로 합니다. 프로그래머가 아니라고요? 걱정하지 마세요! NumPy에 기여하는 방법에는 여러 가지가 있습니다. + +NumPy 기여자가 되는 데 관심이 있으시다면 [기여](/contribute) 페이지를 방문하시는 것을 추천해 드립니다. + +또한, 부담없이 커뮤니티 미팅에 참석 해주시길 바랍니다. 정확한 날짜들은 [행사달력](https://scientific-python.org/calendars/)을 확인해주세요. diff --git a/content/ko/config.yaml b/content/ko/config.yaml new file mode 100644 index 0000000000..3fd2c5b61e --- /dev/null +++ b/content/ko/config.yaml @@ -0,0 +1,137 @@ +languageName: 한국어 +params: + description: 왜 NumPy인가? 강력한 n차원 배열. 수치 컴퓨팅 도구. 상호운용성. 고성능. 오픈소스. + navbarlogo: + image: logo.svg + text: NumPy + link: /ko/ + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: Python으로 과학적 컴퓨팅을 하기 위한 기초 패키지 + #Button text + buttontext: "최신 릴리: NumPy 1.26. 모든 릴리즈 보기" + #Where the main hero button links to + buttonlink: "/ko/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: 자리 표시자 + intro: + - + title: NumPy 써 보기 + text: 대화형 셸을 이용해 브라우저에서 NumPy를 사용해보세요 + docslink: 문서도 한 번 열람해보세요. + casestudies: + title: 사례 연구 + features: + - + title: 최초의 블랙홀 사진 + text: NumPy 및 NumPy에 의존하는 SciPy, Matplotlib와 같은 라이브러리가 사건의 지평선 망원경으로 최초의 블랙홀 사진을 생성할 수 있었던 방법 + img: /images/content_images/case_studies/blackhole.png + alttext: 최초의 블랙홀 사진. 검은 배경의 주황색 원입니다. + url: /case-studies/blackhole-image + - + title: 중력파 검출 + text: 1916년, 알베르트 아인슈타인이 중력파를 예측했습니다. LIGO 과학자들이 NumPy를 이용하여 이것이 존재함을 증명하기 100년 전이었습니다. + img: /images/content_images/case_studies/gravitional.png + alttext: 서로의 궤도를 도는 두 구체. 주위의 중력을 변화시키고 있습니다. + url: /case-studies/gw-discov + - + title: 스포츠 분석 + text: 크리켓 분석은 통계적 모델링과 예측 분석을 통해 선수와 팀의 성과를 개선하여 게임을 바꾸고 있습니다. NumPy는 이런 많은 분석을 가능하게 합니다. + img: /images/content_images/case_studies/sports.jpg + alttext: 크리켓 공이 녹지 위에 있습니다. + url: /ko/case-studies/cricket-analytics + - + title: 딥러닝을 통한 자세 추정 + text: DeepLabCut은 동물의 행동을 관찰하는 과학 연구의 속도를 개선하기 위해, NumPy를 사용하여 종이나 시간에 따른 운동 제어 방식을 잘 이해할 수 있도록 하였습니다. + img: /images/content_images/case_studies/deeplabcut.png + alttext: 치타 자세 분석 + url: /ko/case-studies/deeplabcut-dnn + tabs: + title: 생태계 + section5: false + navbar: + - + title: 설치 + url: /ko/install + - + title: 문서 + url: https://numpy.org/doc/stable + - + title: 배움 + url: /ko/learn + - + title: 커뮤니티 + url: /ko/community + - + title: NumPy 정보 + url: /ko/about + - + title: 소식 + url: /ko/news + - + title: 기여 + url: /ko/contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: 설치 + link: /ko/install + - + text: 문서 + link: https://numpy.org/doc/stable + - + text: 배움 + link: /ko/learn + - + text: Numpy 인용 + link: /ko/citing-numpy + - + text: 로드맵 + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: 정보 + link: /ko/about + - + text: 커뮤니티 + link: /ko/community + - + text: 사용자 설문조사 + link: /ko/user-surveys + - + text: 기여 + link: /ko/contribute + - + text: 이용약관 + link: /ko/code-of-conduct + column3: + links: + - + text: 도움받기 + link: /ko/gethelp + - + text: 이용약관 + link: /ko/terms + - + text: 개인정보처리방침 + link: /ko/privacy + - + text: 홍보 자료 + link: /ko/press-kit diff --git a/content/ko/contribute.md b/content/ko/contribute.md new file mode 100644 index 0000000000..b401513113 --- /dev/null +++ b/content/ko/contribute.md @@ -0,0 +1,65 @@ +--- +title: NumPy 프로젝트에 기여하기 +sidebar: false +--- + +NumPy 프로젝트에서는 당신의 경험과 의욕을 환영합니다! 당신의 선택지는 프로그래밍에만 국한되어 있지않습니다. 아래의 참여방법들을 확인하면 많은 부분에서 **당신의 도움**이 필요한 것을 알수있습니다. + +시작점을 찾기 힘들거나 재능을 어떻게 활용해야 할지 잘 모르겠다면, _물어보세요!_ [메일링 리스트](https://mail.python.org/mailman/listinfo/numpy-discussion)나 [GitHub](http://github.com/numpy/numpy) ([이슈](https://github.com/numpy/numpy/issues)를 생성하거나 관련 이슈에 답글을 다세요)에서 질문하시면 됩니다. + +앞서 소개드린 것들이 저희가 선호하는 연락 채널입니다. (오픈 소스는 원래 개방되어 있으니까요) 하지만 비공개적으로 대화를 나누고 싶으시다면, 을 통해 커뮤니티 코디네이터로 연락하시거나 [Slack](https://numpy-team.slack.com)을 이용하시면 됩니다. (초대를 받으시려면 을 쓰시면 됩니다). + +또한 저희는 격주마다 _커뮤니티 연락_을 합니다. 자세한 정보는 [메일링 리스트](https://mail.python.org/mailman/listinfo/numpy-discussion)로 알립니다. 당신의 참여를 매우 환영합니다. 오픈소스에 기여하는 게 처음이시라면 [이 도움말](https://opensource.guide/how-to-contribute/)을 읽어 보시는 것을 적극 권장합니다. + +저희 커뮤니티는 모두를 평등하게 대하고 모든 기여의 가치를 인정하려는 뜻을 품고 있습니다. 개방적이고 참여를 환영하는 분위기를 조성하기 위해 [이용약관](/code-of-conduct)을 만들었습니다. + +### 코드 작성 + +프로그래머 여러분, 이 [도움말](https://numpy.org/devdocs/dev/index.html#development-process-summary)에 어떻게 코드베이스에 기여하는지 설명되어 있습니다.
저희의 [유투브 채널](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS)을 통해서 추가적인 정보를 확인 해주세요. + +### Pull Request 리뷰 +프로젝트의 열린 풀 요청만 250개가 넘습니다. 즉 많은 잠재적 개선점과 오픈소스 기여자들이 피드백을 기다리고 있다는 것입니다. NumPy를 알고 있는 개발자라면, 코드베이스에 대해 잘 알지 못해도 기여할 수 있습니다. 아래와 같은 기여를 해 보십시오. +* 늘어지는 토론 요약 +* 문서의 풀 요청 심사 +* 제안된 변경 사항 테스트 + +### 교육 자료 개발 + +NumPy의 [사용자 도움말](https://numpy.org/devdocs)은 현재 대규모로 재구성되고 있습니다. 현재 새로운 튜토리얼, 방법, 심층적 설명이 필요하고, 사이트의 구조를 다시 짜야 합니다. 글을 쓰는 사람에게만 기회가 주어지는 것은 아닙니다. 코드 예제와 노트북, 동영상 등을 통한 기여도 환영합니다. [NEP 44 — NumPy 문서의 재구성](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html)에 사이트 재구성에 대하여 자세한 내용이 설명되어 있습니다. + +### 이슈 확인 + +[NumPy 이슈 트래커](https://github.com/numpy/numpy/issues)에는 _정말 많은_ 이슈들이 현재 열린 상태로 있습니다. 일부는 더 이상 유효하지 않은 이슈고, 일부는 우선 순위를 지정해야 하며, 일부는 새로운 기여자들이 볼 만한 좋은 이슈가 될 수 있을 것입니다. 아래와 같은 기여를 해 보십시오. + +* 오래된 버그가 현재도 남아 있는지 확인 +* 중복된 이슈를 찾아 하나로 묶기 +* 이슈를 재현하는 코드를 추가 +* 이슈를 올바르게 라벨링 (이 작업에는 심사 권한이 필요합니다. 필요한 경우 요청하십시오) + +한 번 참여해 보시길 바랍니다. + +### 웹사이트 개발 + +사이트를 막 뜯어 고친 상태이지만, 아직 끝이라기엔 멀었습니다. 웹 개발을 좋아하신다면, [여기](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign)에서 저희가 이루지 못했던 사항의 목록을 볼 수 있습니다. 자신만의 아이디어를 마음껏 공유해 주십시오. + +### 그래픽 디자인 + +그래픽 디자이너분들이 할 수 있는 기여의 목록을 여기에 열거하는 건 어렵습니다. 저희 문서에는 일러스트가 많이 부족합니다. 성장하는 사이트에는 이미지가 필요하기 때문에, 기여할 수 있는 기회가 많을 것입니다. + +### 웹사이트 번역 + +사용자가 모국어로 NumPy를 이용할 수 있도록 [numpy.org](https://numpy.org)의 여러 번역을 계획하고 있습니다. 이를 위해서는 자원봉사자분들의 통역이 필요합니다. 자세한 내용은 [여기](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n)를 참고하십시오. [이 GitHub 이슈](https://github.com/numpy/numpy.org/issues/55)에 댓글을 달아 번역에 참여하십시오. + +### 커뮤니티 조직 및 확산 + +우리는 커뮤니티 연락처를 통해 작업물을 더 널리 공유하고 미흡한 부분을 배워 나갑니다. 우리는 [Twitter](https://twitter.com/numpy_team) 계정, NumPy [코드 스프린트](https://scisprints.github.io/) 개최, 뉴스레터 발행, 그리고 아마 블로그 등을 통해서 더 많은 사람들이 커뮤니티에 참여하기를 간절히 바라고 있습니다. + +### 모금 + +NumPy는 오랜 기간 동안 자원봉사의 형태로 유지되었으나, 그 중요성이 커짐에 따라 안정성 및 성장을 보장하려면 경제적 지원이 필요함이 분명해졌습니다. 이런 지원이 얼마나 큰 차이를 만들어 냈는지 [SciPy'19 강연](https://www.youtube.com/watch?v=dBTJD_FDVjU)에서 확인하실 수 있습니다. 모든 비영리 조직과 마찬가지로 저희는 지속적으로 보조금, 후원 및 기타 종류의 지원을 끊임없이 찾고 있습니다. 모금을 받을 아이디어가 몇 개 있지만 당연히 더 많은 자금을 받게 된다면 좋을 것입니다. 모금도 정말 희귀한 능력 중 하나입니다 - 도움을 주신다면 감사드리겠습니다. + +### 후원 + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/ko/gethelp.md b/content/ko/gethelp.md new file mode 100644 index 0000000000..f216b532d6 --- /dev/null +++ b/content/ko/gethelp.md @@ -0,0 +1,20 @@ +--- +title: 도움 구하기 +sidebar: false +--- + +**개발 이슈:** NumPy 개발 관련 문제(버그 제보 등)의 경우, [커뮤니티](/community)를 방문해주시기 바랍니다. + +**사용자 질문:** 도움을 받을 수 있는 가장 좋은 방법은 링크된 사이트에 질문을 게시하는 것입니다. [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) 또는 [Reddit](https://www.reddit.com/r/Numpy/). 저희가 직접 이런 사이트들을 주시하거나 질문에 대해 답해드리고 싶지만, 그러기에는 질문의 양이 너무 많습니다! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +"How do I do X in NumPy?”와 같이 사용 중 질문을 올리는 포럼입니다. [`#numpy` 태그를 사용](https://stackoverflow.com/help/tagging)해주세요. + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +사용 중 질문을 올리는 또다른 포럼입니다. + +*** diff --git a/content/ko/history.md b/content/ko/history.md new file mode 100644 index 0000000000..015495f328 --- /dev/null +++ b/content/ko/history.md @@ -0,0 +1,21 @@ +--- +title: NumPy의 역사 +sidebar: false +--- + +NumPy는 배열 데이터 구조와 이에 대한 빠른 수치적 루틴을 제공하는 Python의 기초적인 라이브러리입니다. 처음 시작했을 때는 라이브러리를 개발할 자금이 거의 없었고, 주로 컴퓨터 공학 교육을 받지 못했고, 교수의 승인조차 받지 못한 대학원생이 이를 제작해나갔습니다. 소규모 "불량" 학생 프로그래머 집단이 이미 잘 정립되었으며 엄청난 자본과 많은 우수한 기술자들이 뒷받침하는 연구 소프트웨어 생태계를 뒤바꾼다고 상상해보세요. 정말 터무니없는 일입니다. 그러나 완전 개방형 도구 속에 감추어졌던 철학적 동기들이, 친근하고 들떴으며 특별한 목표를 가진 공동체와 결합되어, 장기적으로 유의미한 것이 드러났습니다. 오늘날 NumPy는 전 세계의 과학자, 기술자 및 기타 많은 전문가들의 신뢰를 받고 있습니다. 예를 들어, 중력파 분석에 사용되며 출시된 스크립트는 NumPy 패키지를 가져 왔고, M87 블랙홀 시각화 프로젝트에서는 NumPy를 직접 인용하였습니다. + +NumPy 및 관련 라이브러리의 개발 단계에 대한 자세한 설명은 [arxiv.org](https://arxiv.org/abs/1907.10121)를 참고하십시오. + +원본 Numeric 및 Numarray 라이브러리의 사본을 얻으려면 아래 링크를 들어가십시오. + +[*Numeric* 다운로드 페이지](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[*Numarray* 다운로드 페이지](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*이런 오래된 배열 패키지는 더 이상 지원되지 않으며, 배열 관련 기능을 이용하기 위해서는 NumPy를 사용하거나 NumPy 라이브러리를 활용하기 위해서는 기존 코드를 리팩토링하는 것이 좋습니다. + +### 역사적 문서 + +[*`Numeric'* 메뉴얼 다운로드](static/numeric-manual.pdf) + diff --git a/content/ko/install.md b/content/ko/install.md new file mode 100644 index 0000000000..c3128cee25 --- /dev/null +++ b/content/ko/install.md @@ -0,0 +1,126 @@ +--- +title: NumPy 설치 +sidebar: false +--- + +NumPy를 설치하는 유일한 선행 조건은 Python 자체입니다. 만약 아직 Python을 설치하지 않았고 가장 간단한 방법으로 시작하려면, [Anaconda 배포판](https://www.anaconda.com/distribution) 을 사용하길 권장합니다. 이 배포판에는 Python 와 NumPy 및 과학 계산 및 데이터 사이언스에 자주 사용되는 다른 패키지들이 포함되어 있습니다. + +NumPy 는 `conda` 나 `pip` 를 통해서 사용하여 설치할 수 있고, 또한 macOS 및 Linux의 패키지 관리자나 [원본 코드](https://numpy.org/devdocs/user/building.html) 를 이용하여 설치할 수 있습니다. 더 자세한 설명은 아래의 [Python 및 NumPy 설치 가이드](#python-numpy-install-guide)를 확인해주세요. + +**CONDA** + +`conda`를 사용한다면, NumPy를 `defaults` 또는 `conda-forge` 채널에서 설치할 수 있습니다: + +```bash +# 가장 좋은 방법은 기본 환경 대신에 새로운 환경을 이용하는 것입니다 +conda create -n my-env +conda activate my-env +# my-env 에 conda-forge 채널을 더해줍니다 +conda config --env --add channels conda-forge +# my-env 에 NumPy 를 설치합니다 +conda install numpy +``` + +**PIP** + +`pip`를 사용한다면, NumPy를 다음과 같이 설치할 수 있습니다: + +```bash +pip install numpy +``` +또한 `pip`를 사용할 때, 가상 환경을 사용하는 것을 추천합니다. 가상 환경을 사용하는 이유는 [재현 가능한 설치방법들](#reproducible-installs)을 참조해주세요. 가상 환경 사용에 대한 자세한 내용은 [이 가이드](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto)에서 확인하실 수 있습니다. + + + + +# Python 및 NumPy 설치 가이드 + +Python에서 패키지를 설치하고 관리하는 것은 복잡한 작업이기에, 대부분의 작업에 대해 다양한 대안적인 해결책이 있습니다. 이 가이드는 독자분들에게 가장 좋은 (또는 가장 인기 있는) 해결책을 이해시키고 명확한 권장 사항을 제공하려고 노력합니다. 이 가이드는 일반적인 운영 체제와 하드웨어에서 Python, NumPy 및 PyData (또는 숫자 계산) 사용자에 중점을 둡니다. + +## 권장 사항 + +사용자의 경험과 사용하는 운영체제를 기준으로 추천하는 방식을 먼저 이야기 하겠습니다. 만약 당신이 초심자 또는 숙련자범위에 속해있다면, 간단하게 설치하고 싶다면 초심자로, 추후에 작업을 위해서 보다 구체적인 연습을 하고 싶다면 숙련자 자료를 참고하십시오. + +### 초심자 유저 + +Windows, macOS, Linux 등 일반적인 운영체제: + +- [Anaconda](https://www.anaconda.com/distribution/) 를 설치하십시오.(당신이 필요로 하는 패키지를 설치하고, 아래에 언급될 다양한 도구들을 제공합니다.) +- 코드를 작성하거나 실행할 때, 데이터를 분석하거나 대화형으로 코드를 작업하는 경우에는 [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) 의 notebooks를 사용하십시오. 그리고 코드를 작성하거나 패키지를 작성할 때는 [Spyder](https://www.spyder-ide.org/)나 [Visual Studio Code](https://code.visualstudio.com/)를 사용하십시오. +- 패키지를 관리하거나 JupyterLab, Spyder, Visual Studio Code 를 사용하는 경우 [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/)를 사용하십시오. + + +### 숙련자 유저 + +#### Conda + +- [Miniforge](https://github.com/conda-forge/miniforge)를 설치하십시오. +- `base` 라는 이름의 콘다 가상환경은 최소 상태를 유지하고, [콘다 가상환경](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)을 만들어서, 해당 가상환경에 필요한 패키지를 설치하십시오. + +#### Pip/PyPI를 활용하는 경우: + +개인적인 선호나 아래의 conda 와 pip의 차이점을 설명하는 글을 읽은 유저나 또는 pip/PyPI기반의 설치 방법을 선호하는 경우 참고하십시오. +- [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/), or Linux package manager를 활용해서 Python을 설치하십시오. +- Conda와 동일한 수준의 가상환경 관리와 패키지 의존성을 해결을 도와주는 [Poetry](https://python-poetry.org/)를 유지관리 도구로 사용하십시오. + + +## Python 패키지 관리 + +패키지 관리는 아주 중요하기 때문에, 사용할 수 있는 도구들이 많습니다. 웹 및 범용 Python 개발을 위해 Pip뿐만 아니라 [다양한 도구](https://packaging.python.org/guides/tool-recommendations/)들이 있습니다. 고성능 컴퓨터 (HPC) 를 사용하는 경우 [Spack](https://github.com/spack/spack)를 사용하는 것을 추천합니다. 대부분 Numpy를 사용하는 유저는, [conda](https://conda.io/en/latest/) 와 [pip](https://pip.pypa.io/en/stable/)를 가장 많이 사용합니다. + + +### Pip & conda + +Python 패키지를 설치하고 관리하는 주요 툴은 `pip` 과 `conda` 입니다. 그 도구들의 기능은 부분적으로 겹칩지만 (e.g. both can install `numpy`), 같이 쓰일 수도 있습니다. 곧 pip와 conda의 차이점에 대해서 논의해볼 것입니다. - 패키지 관리를 효율적으로 하기 위해서는 차이를 이해하는게 중요합니다. + +첫번째 차이점은, conda는 cross-language 를 지원하고, Python을 설치할 수 도 있지만, pip는 특정 Python에만 패키지를 설치하고 관리할 수 있다는 것 입니다. 또한 conda는 non-Python 라이브러리나 도구들을 설치할 수 있지만 (e.g. compilers, CUDA, HDF5), pip는 Python이 필요하기 때문에 설치할 수 없습니다. + +두번째 차이점은 pip는 Python Packaging Index(PyPI) 로 부터 패키지를 다운받아 설치하지만, conda는 conda 만의 채널로 설치합니다 (일반적으로 "defaults" or "conda-forge" 채널을 사용합니다). PyPI 가 가장 큰 패키지 저장소입니다만, 많은 사람들이 사용하는 패키지는 conda에서도 설치할 수 있습니다. + +세번째 차이점은 conda는 환경이나 패키지간 의존성을 해결하기 위한 해키지 관리 도구를 제공하지만, pip는 그를 위해서 (아주 많은) 추가적인 도구들이 필요하다는 것 입니다. + + + +### 재현 가능한 설치방법들 + +라이브러리가 업데이트되면, 코드의 실행 결과가 바뀌거나, 코드가 완전히 손상될 수 있습니다. 그러므로 사용중인 패키지 및 버전을 재구성할 수 있도록 하는 것이 중요합니다. 권장되는 방법으로는 + +1. 작업 중인 프로젝트마다 다른 환경을 이용하고, +2. 각각 자체 메타 데이터 형식이 있는 패키지 설치 프로그램을 통해 패키지 이름과 버전을 기록해둡니다. + - Conda: [conda 환경들 과 environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [가상 환경들](https://docs.python.org/3/tutorial/venv.html) 과 [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [가상 환경들 과 pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy 패키지 & 고속 선형 대수 라이브러리 + +NumPy는 다른 Python 패키지에 의존하지 않습니다. 그러나 고속 선형 대수 라이브러리, 일반적으로 [Inter MKL](https://software.intel.com/en-us/mkl) 또는 [OpenBLAS](https://www.openblas.net/)에 의존하고 있습니다. 사용자는 이를 설치하지 않아도 됩니다 (NumPy 설치 중 설치됩니다). 고급 사용자의 경우 사용한 BLAS가 디스크의 성능, 동작 및 크기에 영향을 끼칠 수 있기 때문에 세부 정보가 필요할 수도 있습니다. + +- Pip가 설치하는 PyPI의 휠 파일에 있는 NumPy의 경우는 OpenBLAS로 빌드되었습니다. OpenBLAS 라이브러리는 휠 파일에 포함되어 있습니다. 이는 휠 파일의 크기를 더 크게 만들고, 사용자가 (예를 들어) SciPy도 설치하게 되면 디스크에 2개의 OpenBLAS 사본을 가지게 됩니다. + +- Conda의 기본 채널 내 NumPy는 Interl MKL로 빌드되었습니다. MKL은 NumPy를 설치할 때 사용자의 환경에 같이 설치되는 분할 패키지입니다. + +- Conda-forge 채널 내 NumPy는 더미 "BLAS" 패키지로 빌드되었습니다. 사용자가 conda-forge에서 NumPy를 설치할 때 해당 BLAS 패키지가 실제 라이브러리와 함께 설치됩니다. 기본값은 OpenBLAS이나, (기본 채널에서는) MKL이 될 수도 있고, 심지어 [BLIS](https://github.com/flame/blis)나 Reference BLAS가 될 수도 있습니다. + +- MKL 패키지가 OpenBLAS에 비해 더욱 큽니다. OpenBLAS가 30MB를 차지하는 반면, MKL 쪽은 700MB에 달하는 디스크 공간을 차지합니다. + +- 보통 MKL이 OpenBLAS보다 더 빠르고 안정적입니다. + +설치 크기, 성능 및 안정성을 제쳐 두더라도, 고려할 사항이 2가지 더 있습니다. + +- Intel MKL은 오픈소스가 아닙니다. 일반적으로 사용할 때는 문제가 되지 않지만, 사용자가 NumPy로 빌드한 애플리케이션을 재배포하는 경우 문제가 될 수 있습니다. +- MKL과 OpenBLAS 모두 `np.dot`과 같이 함수를 호출하는 데 다중 스레드를 사용하며, 스레드의 수는 빌드 시간 설정과 환경 변수에 의해 결정됩니다. 보통은 모든 CPU 코어가 사용됩니다. 이로 인하여 예기치 않은 일이 발생할 수 있습니다. NumPy 자체적으로는 어떤 함수 호출도 병렬화하지 않습니다. 일반적으로 더 나은 성능을 제공해주지만, 예를 들어 Dask, scikit-learn 또는 멀티프로세싱과 함께 다른 수준의 병렬화를 사용하는 경우 좋지 않은 결과를 초래할 수 있습니다. + + +## 트러블슈팅 + +아래와 같은 응답과 함께 설치에 실패한다면, [Troubleshooting ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html)를 참고하시기 바랍니다. + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for +different reasons, often due to issues with your setup. +``` + diff --git a/content/ko/learn.md b/content/ko/learn.md new file mode 100644 index 0000000000..3f32c000f3 --- /dev/null +++ b/content/ko/learn.md @@ -0,0 +1,76 @@ +--- +title: 배우기 +sidebar: false +--- + +**공식 NumPy 문서**는 [numpy.org/doc/stable](https://numpy.org/doc/stable)에 있습니다. + +*** + +아래는 NumPy 기여자들이 개발하고 커뮤니티에서 승인한 자기 학습 및 교육 자원들을 선별한 컬렉션입니다. + +## 초심자 + +내외적으로 NumPy에 대한 정보가 많이 있습니다. 처음 시작하는 경우 다음 자료들을 강력히 추천합니다: + + **튜토리얼** + +* [NumPy 빠른 시작 튜토리얼](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy 튜토리얼](https://numpy.org/numpy-tutorials) - NumPy 문서 팀에서 개발 및 유지보수하는 Jupyter 노트북 형식의 튜토리얼 및 교육 자료 모음입니다. 만약 추가하고 싶은 내용이 생기는 경우 [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials)를 확인해 주십시오. +* [NumPy Illustrated: The Visual Guide to NumPy - *Lev Maximov 저*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [SciPy Lectures](https://scipy-lectures.org/) - 여기서는 NumPy를 다루는 것 외에도 Python 생태계에 대하여 광범위한 소개를 볼 수 있습니다. +* [NumPy: the absolute basics for beginners](https://numpy.org/devdocs/user/absolute_beginners.html) +* [From Python to NumPy - *Nicolas P. Rougier 저*](https://github.com/rougier/numpy-tutorial) +* [Stanford CS231 - *Justin Johnson 저*](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy User Guide](https://numpy.org/devdocs) + + **도서** + +* [Guide to NumPy - *Travis E. Oliphant 저*](http://web.mit.edu/dvp/Public/numpybook.pdf) 이건 2006년의 무료 버전 초판입니다. 최근 판(2015)은 [여기에서](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1122853007) 볼 수 있습니다. +* [From Python to NumPy - *Nicolas P. Rougier 저*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [Elegant SciPy - ](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) *Juan Nunez-Iglesias, Stefan van der Walt, Harriet Dashnow 저* + +"Python+SciPy" 주제에 관한 [Goodreads 목록](https://www.goodreads.com/shelf/show/python-scipy)도 확인해보시기를 권장합니다. 거기서 대부분의 책은 "SciPy 생태계"에 관한 것이며, 이 생태계의 핵심에는 NumPy가 포함되어 있습니다. + + **영상** + +* [Introduction to Numerical Computing with NumPy - ](http://youtu.be/ZB7BZMhfPgk) *Alex Chabot-Leclerc 저* + +*** + +## 숙련자 + +Indexing, Splitting, Stacking, 선형대수 등과 같은 NumPy의 개념을 더 잘 이해하러면 이 고급 자료들을 참조 해보세요. + + **튜토리얼** + +* [100 NumPy Exercises](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) *by Nicolas P. Rougier* +* [An Introduction to NumPy and Scipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) *by M. Scott Shell* +* [Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) *by Stéfan van der Walt* +* [NumPy 튜토리얼](https://numpy.org/numpy-tutorials) - NumPy 문서 팀에서 개발 및 유지보수하는 Jupyter 노트북 형식의 튜토리얼 및 교육 자료 모음입니다. 만약 추가하고 싶은 내용이 생기는 경우 [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials)를 확인해 주십시오. + + **도서** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1491912057) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1491957662) *by Wes McKinney* +* [Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) *by Robert Johansson* + + **영상** + +* [Advanced NumPy - broadcasting rules, strides, and advanced indexing](https://www.youtube.com/watch?v=cYugp9IN1-Q) *by Juan Nunez-Iglesias* + +*** + +## NumPy 이야기 + +* [The Future of NumPy Indexing](https://www.youtube.com/watch?v=o0EacbIbf58) *by Jaime Fernández* (2016) +* [Evolution of Array Computing in Python](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) *by Ralf Gommers* (2019) +* [NumPy: what has changed and what is going to change?](https://www.youtube.com/watch?v=YFLVQFjRmPY) *by Matti Picus* (2019) +* [Inside NumPy](https://www.youtube.com/watch?v=dBTJD_FDVjU) *by Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris* (2019) +* [Brief Review of Array Computing in Python](https://www.youtube.com/watch?v=f176j2g2eNc) *by Travis Oliphant* (2019) + +*** + +## NumPy 인용하기 + +만약 당신의 연구에서 NumPy가 중요한 역할을 수행하였고 학술 간행물에서 출판하기 위해서는 [이 인용 정보](/citing-numpy)를 참조하세요. diff --git a/content/ko/news.md b/content/ko/news.md new file mode 100644 index 0000000000..006b35ebd7 --- /dev/null +++ b/content/ko/news.md @@ -0,0 +1,307 @@ +--- +title: 소식 +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2023-09-16 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0 출시일: 6월 16일 + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- [NumPy 2.0 이주 가이드](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- [2.0.0 릴리즈 노트](https://numpy.org/devdocs/release/2.0.0-notes.html) +- 상태 업데이트 공지용 이슈: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 출시일: 6월 16일 + +_2024년 5월 23일_ -- NumPy 2.0이 2024년 6월 16일에 출시할 예정이라는 소식을 발표하게 되어 기쁩니다. 이 릴리즈를 제작하는 데 1년이 넘게 걸렸고, 2006년 이후 첫 번째 메인 릴리즈입니다. 중요한 건 많은 기능과 성능 개선 외에도, ABI와 Python, C API에 대한 **획기적인 변화**를 이뤄냈다는 것입니다. 아마 의존하는 패키지와 최종 사용자의 코드를 수정해야 할 겁니다. 가능하다면 코드가 `2.0.0rc2`에서 잘 작동하는지 검증해 주세요. **자세한 내용은 아래 항목들을 확인해 주세요.** + +- [NumPy 2.0 이주 가이드](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- [2.0.0 릴리즈 노트](https://numpy.org/devdocs/release/2.0.0-notes.html) +- 상태 업데이트 공지용 이슈: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumPy 1.26.0 출시 +_2023년 12월 19_ -- NumFOCUS에서 연말 캠페인 기간 동안 PyCharm과 협력해 최초 PyCharm 이용자의 라이선스를 30% 할인된 가격에 제공했습니다. 지금부터 2023년 12월 23일까지 PyCharm 구매로 발생한 모든 수익은 NumFOCUS 프로그램으로 직접 전달됩니다. + +구매를 추적할 수 있는 고유 URL을 이용하거나: https://lp.jetbrains.com/support-data-science/ 쿠폰 코드를 사용하세요: ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 출시 + +_2023년 12월 16일_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html)이 출시되었습니다. 주요 기능들은 다음과 같습니다: + +* 파이썬 3.12.0 지원 +* Cython 3.0.0 호환 +* Meson 빌드 시스템 사용 +* 업데이트된 SIMD 지원 +* f2py 수정, meson 및 bind(x) 지원 +* 업데이트된 Accelerate BLAS/LAPACK 라이브러리 지원 + +NumPy 1.26.0 릴리스는 Meson 빌드 시스템으로의 전환과 Cython 3.0.0 지원을 표시하는 1.25.x 시리즈의 연장입니다. 총 20명의 사람들이 이 릴리스에 기여하였으며 59개의 풀 리퀘스트가 병합되었습니다. + +본 릴리즈에서 지원하는 Python 버전은 3.3.9-3.12입니다. + +### numpy.org은 이제 일본어와 포르투갈어로도 이용 가능합니다. + +_2023년 8월 2일_ - numpy.org은 이제 추가로 일본어와 포르투갈어로 이용 가능합니다. 이는 다음의 헌신적인 자원봉사자들의 노력 없이는 가능하지 않았을 것입니다: + +_포르투갈어_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_일본어_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +번역 인프라에 대한 작업은 CZI로부터의 자금 지원을 받아 진행되었습니다. + +나아가서 NumPy 웹사이트가 더 많은 언어로 번역되기를 바랍니다. 도움을 주시려면 다음 Slack 링크를 통해 NumPy Translations Team 에 연락을 주십시오: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (#translations 채널을 add 해주세요) 또한 과학적 파이썬 생태계 전반에서 문서 및 교육 콘텐츠를 지역화하는데 참여할 Translations Team을 구축하고 있습니다. 이에 흥미를 느낀다면 Scientific Python Discord에서 함께해 주세요: https://discord.gg/khWtqY6RKr. (#translation 채널을 찾아보세요) + +### NumPy 1.25.0 출시 + +_2023년 6월 17일_ -- 이제 [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html)을 이용할 수 있습니다. 주요 기능들은 다음과 같습니다: + +* MUSL 지원, 이제 MUSL Wheel도 배포됩니다. +* Fujitsu C/C++ 컴파일러 지원 +* Einsum에서 객체 배열 지원 +* Inplace 행렬 곱셈 (`@=`) 지원 + +NumPy 1.25.0 릴리스에서는 dtype의 처리 및 형변환을 개선하고 실행 속도를 높이는 작업, 문서를 보다 명료하게 다듬는 작업을 계속하고 있습니다. 미래의 NumPy 2.0.0을 위한 준비 작업도 있었는데, 이로 인해 수많은 기능들이 지원 종료 예정에 새로 포함되거나 완전히 만료되었습니다. + +총 148명의 사람들이 이 릴리스에 기여하였으며 530개의 풀 리퀘스트가 병합되었습니다. + +본 릴리즈에서 지원하는 Python 버전은 3.9-3.11입니다. + +### 포용적인 문화 조성: 참여 요청 + +_2023년 5월 10일_ -- 포용적인 문화 조성: 참여 요청 + +다양성과 포용성의 측면에서 우리는 어떻게 더 나아질 수 있을까요? [여기](https://contributor-experience.org/docs/posts/dei-report/)에서 보고서를 읽고 함께 참여하는 방법을 알아보세요. + +### NumPy 문서 팀 리더 변경 + +_2023년 1월 6일_ –- Mukulika Pahari, Ross Barnowski가 Melissa Mendonça를 대신해 새 NumPy 문서 팀 리더로 임명되었습니다. NumPy 공식 문서와 교육 자료에 기여한 Melissa와 한 걸음 더 나아간 Mukulika, Ross에게 감사를 표합니다. + +### NumPy 1.24.0 출시 + +_2022년 12월 18일_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html)이 출시되었습니다. 주요 기능들은 다음과 같습니다: + +* 스태킹 함수를 위한 새 "dtype" 및 "casting" 키워드. +* 새 F2PY 기능 및 수정. +* 수많은 지원 종료 예정 기능, 확인하세요. +* 수많은 만료된 기능, + +NumPy 1.24.0 릴리스에서는 dtype의 처리 및 형변환을 개선하고 실행 속도를 높이는 작업, 문서를 보다 명료하게 다듬는 작업을 계속하고 있습니다. dtype의 형변환 및 정리를 변경하는 과정에서 수많은 기능들이 지원 종료 예정에 새로 포함되거나 완전히 만료되었습니다. 177명의 기여자가 생성한 444개의 풀 요청을 바탕으로 한 성과입니다. 지원하는 Python 버전은 3.8-3.11입니다. + +### NumPy 1.23.0 출시 + +_2022년 6월 22일_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html)이 출시되었습니다. 주요 기능들은 다음과 같습니다: + +* `loadtxt`를 C로 구현하여 성능이 크게 향상되었습니다. +* 데이터 교환을 쉽게 하기 위해 Python 수준에서 DLPack을 개방합니다. +* 구조화된 dtype의 형변환 및 비교 방법을 변경했습니다. +* f2py를 개선했습니다. + +NumPy 1.23.0 릴리스에서는 dtype의 처리 및 형변환을 개선하고 실행 속도를 높이는 작업, 문서를 보다 명료하게 다듬는 작업, 오래된 지원 종료 예정 기능을 완전히 만료시키는 작업을 계속하고 있습니다. 151명의 기여자가 생성한 494개의 풀 요청을 바탕으로 한 성과입니다. 본 릴리즈에서 지원하는 Python 버전은 3.8-3.10입니다. Python 3.11은 rc 단계에 다다르면 지원할 예정입니다. + +### NumFOCUS DEI 연구: 참여 요청 + +_2022년 4월 13일_ -- NumPy는 [NumFOCUS](http://numfocus.org/)와 협력하여 [Gordon & Betty Moore 재단](https://www.moore.org/)에서 기금을 제공하는 [연구 프로젝트](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c)를 진행합니다. 본 연구는 오픈 소스 소프트웨어 커뮤니티에 기여자, 특히 역사적으로 과소평가된 집단의 기여자가 참여할 때 직면하는 장벽을 이해하는 것을 목표로 합니다. 연구팀은 새 기여자, 프로젝트 개발자 및 유지관리자, 과거에 기여한 사람들과 NumPy에 참여하고 기여한 경험에 대해 이야기하고자 합니다. + +**경험을 공유하고 싶으신가요?** + +간단한 ["참여 희망" 양식](https://numfocus.typeform.com/to/WBWVJSqe)을 작성해주세요. 양식에서 연구 목표, 개인정보 보호, 기밀 유지 사항에 대한 추가 정보를 확인할 수 있습니다. 당신의 참여가 다양성과 포용성을 갖춘 오픈 소스 소프트웨어 커뮤니티의 성장과 지속 가능성에 도움이 될 것입니다. 승인된 참가자는 연구팀과 30분 면담을 진행하게 됩니다. + +### Numpy 1.22.0 출시 + +_2021년 12월 31일_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html)이 출시되었습니다. 주요 기능들은 다음과 같습니다: + +* 기본 네임스페이스에 대해 유형 주석의 지원을 거의 완료했습니다. 업스트림 코드는 항상 변하므로 추가 개선이 있을 수 있지만 주요 작업은 완료되었습니다. 아마도 이 릴리스에서 가장 체감되는 개선 사항일 것입니다. +* 제안된 [배열 API 표준의 예비 버전](https://data-apis.org/array-api/latest/)이 제공됩니다([NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html) 참조). 이는 CuPy 및 JAX와 같은 라이브러리에서 사용할 수 있는 표준 함수 모음을 만드는 단계입니다. +* NumPy가 DLPack 백엔드로 구동됩니다. DLPack은 배열(텐서) 데이터에 대한 공통 교환 형식을 제공합니다. +* `quantile`, `percentile` 관련 함수를 위한 새 메서드를 추가했습니다. 새 메서드를 이용해 문헌에서 일반적으로 쓰이는 처리를 진행할 수 있습니다. +* 범용 함수가 대부분의 [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html)을 구현하도록 리팩터링되었습니다. 이를 통해 미래의 DType API를 실험할 수 있는 능력도 갖췄습니다. +* 새 구성 가능한 메모리 할당자를 다운스트림 프로젝트에서 사용할 수 있습니다. + +NumPy 1.22.0은 153명의 기여자가 생성한 609개의 풀 요청을 바탕으로 만들어진 대형 릴리즈입니다. 본 릴리즈에서 지원하는 Python 버전은 3.8-3.10입니다. + +### 과학 Python 생태계에서 포용적 문화 발전 + +_2021년 8월 31일_ -- Chan Zuckerberg Initiative가 과학적 Python 프로젝트에서 역사적으로 소외된 그룹의 사람들을 온보딩, 포함 및 유지하고 NumPy, SciPy, Matplotlib 그리고 Pandas 의 커뮤니티 역학을 구조적으로 개선하기 위한 [보조금을 수여](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/)했음을 발표하게 되어 기쁩니다. + +[CZI의 Essential Open Source Software for Science 프로그램](https://chanzuckerberg.com/eoss/)의 일환으로 이 [Diversity & 포함 추가 보조금](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b)은 포괄적인 오픈 소스 커뮤니티를 육성하기 위한 관행을 식별, 문서화 및 구현하기 위한 전담 기여자 경험 리드 직책 생성을 지원합니다. 이 프로젝트는 Melissa Mendonça(NumPy) 님이 이끌고 Ralf Gommers(NumPy, SciPy), Hannah Aizenman, Thomas Caswell(Matplotlib), Matt Haberland(SciPy), Joris Van den Bossche(Pandas) 님이 추가 멘토링 및 지침을 제공합니다. + +이것은 프로젝트의 커뮤니티 역학을 구조적으로 개선해야 하는 활동을 발견하고 구현하는 것을 목표로 하는 야심 찬 프로젝트입니다. 새로운 교차 프로젝트 역할을 설정함으로써 과학적 Python 커뮤니티에 새로운 협업 모델을 도입하여 생태계 내에서 커뮤니티 구축 작업을 보다 효율적으로 수행하고 더 큰 결과를 얻을 수 있을 것으로 기대됩니다. 또한 특히 역사적으로 과소대표된 집단의 새로운 기여자를 참여시키고 유지하기 위해, 프로젝트에서 효과적인 것과 그렇지 않은 것에 대한 명확한 그림을 구축할 것으로 기대합니다. 마지막으로, 시행된 조치에 대해 자세한 보고서를 작성하여 커뮤니티와의 대표 및 상호 작용 측면에서 프로젝트에 어떤 영향을 미쳤는지 설명할 계획입니다. + +2개년 프로젝트가 2021년 11월부터 시작될 예정입니다. 프로젝트의 결과를 볼 날이 기대되네요! [여기에서 전체 제안서를 열람할 수 있습니다](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### 2021년도 NumPy 설문조사 + +_2021년 7월 12일_ -- NumPy에서, 우리는 커뮤니티의 힘을 믿습니다. 작년에 75개국에서 1,236명의 NumPy 사용자가 첫 번째 설문조사에 참여했습니다. 설문 조사 결과를 통해 다음 12개월 동안 우리가 어떤 것에 집중해야 할지 아주 잘 이해할 수 있었습니다. + +이제 또다른 설문 조사를 진행할 시간이고, 여러분의 도움이 다시 한 번 필요합니다. 완료하는 데 약 15분 정도 소요될 겁니다. 설문지는 영어 외에도 8개 국어로 제공됩니다: 벵골어, 프랑스어, 힌디어, 일본어, 중국 관화, 포르투갈어, 러시아어, 스페인어. + +시작하려면 아래 링크를 눌러 주세요: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Numpy 1.21.0 출시 + +_2021년 9월 23일_ -- [NumPy 1.1.21](https://numpy.org/doc/stable/release/1.21.0-notes.html)이 출시되었습니다. 주요 기능들은 다음과 같습니다: + +- 더 많은 기능과 플랫폼을 다루는 지속적인 SIMD 작업, +- 새로운 dtype 인프라 및 캐스팅에 대한 초기 작업, +- Mac의 Python 3.8 및 Python 3.9용 universal2 휠, +- 문서화 향상, +- 주석 향상, +- 난수 생성에 이용되는 새 `PCG64DXSM` 비트 생성기. + +이번 NumPy 릴리즈는 175명이 기여해주신 581개의 풀 리퀘스트가 합쳐진 결과입니다. 본 릴리즈에서 지원하는 Python 버전은 3.7-3.9입니다. Python 3.10은 Python 3.10 릴리즈 이후 지원할 예정입니다. + + +### 2020년도 NumPy 설문조사 결과 + +_2021년 6월 22일_ -- 2020년에, NumPy 조사 팀은 조사방법론 학사 과정의 학생 및 교수와 협력하여 미시간 대학과 매릴렌드 대학이 공동으로 개최한 첫 공식 NumPy 커뮤니티 조사를 실시했습니다. 여기서 조사 결과를 확인하세요: https://numpy.org/user-survey-2020/. + + +### Numpy 1.20.0 출시 + +_2021년 9월 30일_ -- [NumPy 1.1.20](https://numpy.org/doc/stable/release/1.20.0-notes.html)이 출시되었습니다. 역대 최대의 NumPy 릴리즈입니다. 180명이 넘는 기여자분들께 감사드립니다. 다음은 이번 출시에서 가장 흥미로운 두가지 기능들 입니다. +- NumPy의 많은 부분에 대한 유형 주석 및 사용자와 다운스트림 라이브러리가 추가할 때 사용할 수 있는 `ArrayLike` 및 `DtypeLike` 별칭을 포함하는 새로운 `numpy.typing` 하위 모듈 자체 코드에 주석을 입력합니다. +- x86(SSE, AVX), ARM64(Neon) 및 PowerPC(VSX) 명령을 지원하는 다중 플랫폼 SIMD 컴파일러 최적화 입니다. 이는 많은 함수들의 상당한 성능향상을 가져왔습니다 (예: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### NumPy 프로젝트 내 다양성 + +_2020년 9월 20일_ -- 우리는 [NumPy 프로젝트 안에서의 다양성과 포용성에 관한 소셜 미디어의 상태 및 토론에 대한 성명서를 작성했습니다](/diversity_sep2020). + + +### Nature에 첫 공식 NumPy 논문 발표! + +_2020년 9월 16일_ -- [NumPy에 대한 첫 번째 공식 논문](https://www.nature.com/articles/s41586-020-2649-2)이 Nature에 리뷰 기사로 게재되었음을 발표하게 되어 기쁩니다. NumPy 1.0이 나온 지 14년 만입니다. 이 백서에서는 배열 프로그래밍의 응용 프로그램 및 기본 개념, NumPy 위에 구축된 풍부한 과학적 Python 생태계, CuPy, Dask 및 JAX와 같은 외부 배열 및 텐서 라이브러리와의 상호 운용성을 촉진하기 위해 최근에 추가된 배열 프로토콜을 다룹니다. + + +### Python 3.9가 곧 출시하는데, NumPy는 바이너리 Wheel을 언제 출시합니까? + +_2020년 9월 14일_ -- Python 3.9가 몇 주 내로 출시될 것입니다. 만약 Python 얼리어답터라면, NumPy (그리고 SciPy 등 다른 바이너리 패키지) 가 릴리즈 시일에 바이너리 Wheel을 준비하지 못한다는 것을 알고 실망했을 수 있습니다. 새로운 Python 버전에 빌드 환경을 맞추는 것은 많은 노력을 요하고, 패키지가 PyPI 및 conda-forge에 배포되는 데에는 일반적으로 몇 주가 걸립니다. 출시를 대비하려면 아래 요건을 충족하도록 하십시오. +- `pip` 버전을 최소 20.1로 업데이트하여 `manylinux2010` 및 `manylinux2014`를 지원하도록 합니다 +- [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary)를 사용하거나 또는 `--only-binary=:all:`을 사용하여 `pip`가 소스에서 빌드하는 것을 막아주세요. + + +### NumPy 1.19.2 출시 + +_2020년 9월 10일_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html)이 출시되었습니다. 1.19 시리즈의 이 최신 릴리스는 몇 가지 버그를 수정하고 [다가오는 Cython 3.x 릴리스](http://docs.cython.org/en/latest/src/changes.html)를 준비하며 setuptools를 고정하여 업스트림 수정이 진행되는 동안 distutils가 계속 작동하도록 합니다. aarch64 휠은 다양한 Linux 배포판에서 사용되는 다양한 페이지 크기 문제를 해결하는 최신 manylinux2014 릴리스로 제작되었습니다. + +### 최초의 NumPy 설문조사가 진행 중입니다! + +_2020년 7월 2일_ -- 본 설문조사는 소프트웨어 및 커뮤니티로서의 NumPy 개발에 대하여, 의사결정의 우선 순위를 안내하고 설정하기 위해 실시됩니다. 설문지는 영어 외에도 8개 국어로 제공됩니다: 벵골어, 프랑스어, 힌디어, 일본어, 중국 관화, 포르투갈어, 러시아어, 스페인어. + +NumPy를 개선하게 도와주시고 이를위해 설문조사에 참여해 주세요. [여기](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy에 새로운 로고가 생겼습니다! + +_2020년 6월 24일_ -- NumPy에 새로운 로고가 생겼습니다. + +NumPy 로고 + +이전 로고를 깔끔하고 현대적으로 다시 디자인했습니다. 새 로고를 만들어 주신 Isabela Presedo-Floyd님께 감사드립니다. 또 15년이 넘는 기간 동안 저희가 사용했던 로고를 만들어 주신 Travis Vaught님께도 감사의 말씀을 드립니다. + + +### NumPy 1.19.0 출시 + +_2020년 6월 20일_ -- NumPy 1.19.0이 출시되었습니다. Python 2의 지원을 중단한 첫 릴리즈라서 "정리 릴리즈"라고도 불립니다. 이제 지원하는 Python 최소 버전은 3.6입니다. 중요한 새 기능을 꼽자면, NumPy 1.17.0에 도입된 난수 생성 인프라를 Cython에서 접근할 수 있게 되었다는 것입니다. + + +### Season of Docs 승인 + +_2020년 5월 11일_ -- NumPy가 Google Season of Docs 프로그램의 선도 조직으로 승인되었습니다. 테크니컬 라이터와 협력해서 NumPy 문서를 다시 한 번 개선할 수 있는 기회를 갖게 되어 좋습니다! 이상 자세한 내용은 [공식 문서 시즌 사이트](https://developers.google.com/season-of-docs/) 및 [아이디어 페이지](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas) 를 참조하세요. + + +### NumPy 1.18.0 출시 + +_2019년 12월 22일_ -- NumPy 1.18.0이 출시되었습니다. 1.17.0에서의 주요 변경점을 통합하는 릴리즈입니다. 본 릴리즈는 Python 3.5를 지원하는 마지막 마이너 릴리즈입니다. 릴리즈의 주요 내용으로는, 64비트 BLAS 및 LAPACK 라이브러리와 연결하기 위한 환경 조성, `numpy.random`을 위한 새로운 C-API 등이 있습니다. + +자세한 내용은 [출시 노트](https://github.com/numpy/numpy/releases/tag/v1.18.0)를 참조하세요. + + +### NumPy가 Chan Zuckerberg Initiative에서 보조금을 받았습니다 + +_2019년 11월 15일_ -- NumPy의 주요 종속 패키지 중 하나인 NumPy와 OpenBLAS가 챈 저커버그 이니셔티브의 [과학 프로그램용 중요 오픈소스 소프트웨어](https://chanzuckerberg.com/eoss/) 지원을 통해 19만 5천 달러에 달하는 공동 보조금을 받았다는 소식을 전할 수 있어 기쁩니다. 이곳에서는 과학에 중요한 오픈소스 도구에 대해 유지 관리, 성장, 개발 및 커뮤니티 참여를 지원합니다. + +이 보조금은 NumPy 문서, 웹사이트 재설계 및 커뮤니티 개발을 개선하여 빠르게 성장하는 대규모 사용자 기반에 더 나은 서비스를 제공하고 프로젝트의 장기적인 지속 가능성을 보장하는 데 사용될 것입니다. OpenBLAS 팀은 OpenBLAS가 의존하는 ReLAPACK(Recursive LAPACK) 의 알고리즘 개선뿐만 아니라 특히 스레드 안전성, AVX-512 및 스레드 로컬 스토리지(TLS) 문제와 같은 일련의 핵심 기술 문제를 해결하는 데 집중할 것입니다. + +제안된 계획 및 결과물에 대한 자세한 내용은 [전체 보조금 제안](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167)에서 확인할 수 있습니다. 2019년 12월 1일부터 작업을 시작하여 다음 12개월 동안 진행할 예정입니다. + + + + +## 릴리즈 + +NumPy 릴리즈의 목록입니다. 릴리즈 노트로 링크도 걸려 있습니다. 버그 수정 릴리즈(`x.y.z`에서 `z`만 바뀐 경우)에는 새로운 기능이 없습니다. 마이너 릴리즈(`y`가 증가한 경우)에는 새로운 기능이 있습니다. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _ 2024년 2월 5일_. +- NumPy 1.26.3 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2024년 1월 2일_. +- NumPy 1.26.2 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _2023년 1월 2일_. +- NumPy 1.26.1 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _2023년 10월 14일_. +- NumPy 1.26.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _2023년 16월 9일_. +- NumPy 1.25.2 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _2023년 7월 31일_. +- NumPy 1.25.1 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _2023년 7월 8일_. +- NumPy 1.24.4 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _2023년 6월 26일_. +- NumPy 1.25.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _2023년 6월 17일_. +- NumPy 1.24.3 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _2023년 4월 22일_. +- NumPy 1.24.2 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _2023년 2월 5일_. +- NumPy 1.24.1 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _2022년 12월 26일_. +- NumPy 1.24.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _2022년 12월 18일_. +- NumPy 1.23.5 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _2022년 11월 19일_. +- NumPy 1.23.4 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _2022년 10월 12일_. +- NumPy 1.23.3 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _2022년 9월 9일_. +- NumPy 1.23.2 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _2022년 8월 14일_. +- NumPy 1.23.1 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _2022년 7월 8일_. +- NumPy 1.23.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _2022년 6월 22일_. +- NumPy 1.22.4 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _2022년 5월 20일_. +- NumPy 1.21.6 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _2022년 4월 12일_. +- NumPy 1.22.3 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _2022년 3월 7일_. +- NumPy 1.22.2 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _2022년 2월 3일_. +- NumPy 1.22.1 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _2022년 1월 14일_. +- NumPy 1.22.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _2021년 12월 31일_. +- NumPy 1.21.5 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _2021년 12월 19일_. +- NumPy 1.21.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _2021년 6월 22일_. +- NumPy 1.20.3 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _2021년 5월 10일_. +- NumPy 1.20.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _2021년 1월 30일_. +- NumPy 1.19.5 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _2021년 1월 5일_. +- NumPy 1.19.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _2020년 6월 20일_. +- NumPy 1.18.4 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _2020년 5월 3일_. +- NumPy 1.17.5 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _2020년 1월 1일_. +- NumPy 1.18.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _2019년 12월 22일_. +- NumPy 1.17.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _2019년 7월 26일_. +- NumPy 1.16.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _2019년 1월 14일_. +- NumPy 1.15.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _2018년 7월 23일_. +- NumPy 1.14.0 ([릴리즈 노트](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _2018년 1월 7일_. diff --git a/content/ko/press-kit.md b/content/ko/press-kit.md new file mode 100644 index 0000000000..ddce954013 --- /dev/null +++ b/content/ko/press-kit.md @@ -0,0 +1,8 @@ +--- +title: 홍보 자료 +sidebar: false +--- + +저희는 당신이 NumPy 프로젝트의 상징을 논문, 코스 자료, 발표 자료 등에 삽입하기 쉽도록 하고자 합니다. + +[여기에서](https://github.com/numpy/numpy/tree/main/branding/logo) 여러 버전의 고화질 NumPy 로고를 찾을 수 있습니다. numpy.org 자료를 이용하는 경우, [NumPy 이용약관](/code-of-conduct)에 동의하게 됨을 명심하십시오. diff --git a/content/ko/privacy.md b/content/ko/privacy.md new file mode 100644 index 0000000000..b2fc57fcfd --- /dev/null +++ b/content/ko/privacy.md @@ -0,0 +1,8 @@ +--- +title: 개인정보 정책 +sidebar: false +--- + +**numpy.org**는 NumPy 프로젝트의 재정적 후원자인 [NumFOCUS, Inc.](https://numfocus.org)가 관리합니다. 이 웹 사이트에 대한 개인정보 정책을 확인하려면 https://numfocus.org/privacy-policy를 참고하세요. + +NumFOCUS의 데이터 수집, 이용, 공개 정책에 대하여 아무 질문이나 있으시다면, NumFOCUS 스태프인 privacy@numfocus.org로 연락해주세요. diff --git a/content/ko/report-handling-manual.md b/content/ko/report-handling-manual.md new file mode 100644 index 0000000000..cdd686956e --- /dev/null +++ b/content/ko/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: NumPy 이용 약관 - 보고서의 후속 조치 방법 +sidebar: false +--- + +NumPy 행동 강령 위원회는 본 설명을 따릅니다. 문제를 해결할 때 일관성과 공정성을 확보하기 위한 지침입니다. + +[행동 강령](/code-of-conduct)을 시행하면 현재와 미래의 커뮤니티에 영향을 미칩니다. 우리가 가볍게 받아들이지 않는 행동입니다. 집행 조치를 검토할 때 행동 강령 위원회는 다음 가치와 지침을 염두에 둘 것입니다. + +* 비인간적이기보다는 개인적인 방식으로 행동하십시오. 위원회는 신고자의 사생활과 필요한 기밀을 존중하면서 상황을 이해하도록 당사자들을 참여시킬 수 있습니다. 그러나 때때로 한 명 이상의 개인과 직접 소통해야 할 필요가 있습니다. 위원회의 목표는 단지 공식적인 결정을 내리는 것이 아니라 우리 지역 사회의 건강을 개선하는 것입니다. +* 행동을 판단하기보다는 개인에 대한 공감을 강조하고 "좋음"과 "나쁨/악"이라는 이분법적인 레이블을 피하십시오. 노골적이고 분명한 공격성과 괴롭힘이 존재하며 우리는 단호하게 대처할 것입니다. 그러나 해결하기 어려운 것으로 입증될 수 있는 많은 시나리오는 정상적인 불일치가 여러 당사자의 도움이 되지 않거나 해로운 행동으로 귀결되는 시나리오입니다. 전체 맥락을 이해하고 모두를 다시 참여시키는 경로를 찾는 것은 어렵지만 궁극적으로 우리 커뮤니티에 가장 생산적입니다. +* 우리는 이메일이 어려운 매체이며 고립될 수 있음을 이해합니다. 개인적인 연락 없이 이메일을 통해 비판을 받는 것은 특히 고통스러울 수 있습니다. 따라서 다른 사람의 견해를 열린 마음으로 존중하는 분위기를 유지하는 것이 특히 중요합니다. 또한 투명하게 행동해야 하며 모든 구성원이 공정하고 공감하는 대우를 받을 수 있도록 최선을 다하겠다는 의미이기도 합니다. +* 차별은 미묘할 수도 있고 무의식적일 수도 있습니다. 일상적인 상호 작용에서 불공평과 적대감으로 나타날 수 있습니다. 저희는 이런 차별이 발생한다는 점을 인지하고 있으며 주의를 기울이고 조심할 것입니다. 저희는 귀하가 부당한 대우를 받았다고 느끼시는 경우 귀하의 의견을 듣고 싶습니다. 귀하의 불만 사항을 듣고 해결하기 위한 절차를 밟을 것입니다. +* 좋은 토론 관행에 참여를 늘리도록 도와주세요: 토론이 중단되었을 수 있는 부분을 파악하고 이러한 점에서 긍정적인 변화를 가져올 수 있는 실행 가능한 정보, 포인터 및 리소스를 제공하세요. +* 신입 회원의 필요를 염두에 두십시오. 특히 소외된 그룹의 참여를 늘리는 것을 목표로 명시적인 지원과 배려를 제공하십시오. +* 개인은 서로 다른 문화적 배경과 모국어를 가지고 있습니다. 원어민이 아닌 사람으로 인한 정직한 오해를 식별하고 문제를 이해하고 불쾌감을 주지 않도록 변경할 수 있는 사항을 이해하도록 돕습니다. 외국어로 복잡한 토론을 하는 것은 매우 위협적일 수 있으며 국적과 문화를 넘어 다양성을 키우고자 합니다. + + +## 중재 + +자발적인 비공식 중재는 우리가 사용할 수 있는 도구입니다. 두 명 이상의 당사자가 모두 부적절한 행동 (인간 갈등에서 슬프게도 흔한 일) 의 지점까지 확대된 경우와 같은 맥락에서 중재 프로세스를 촉진하는 것이 유용할 수 있습니다. 이것은 단지 예일 뿐입니다. 위원회는 어떤 경우에도 중재를 고려할 수 있으며, 그 과정은 엄격하게 자발적으로 이루어지며 어느 당사자도 참여하도록 압력을 받을 수 없다는 점을 염두에 두어야 합니다. 위원회가 중재를 제안하는 경우 위원회는 다음을 수행해야 합니다. + +* 중재자 역할을 할 수 있는 후보를 찾으십시오. +* 신고자(들) 의 동의를 얻습니다. 신고자는 중재 아이디어를 거부하거나 대체 중재자를 제안할 수 있는 완전한 자유가 있습니다. +* 피신고자의 동의를 얻습니다. +* 중재자 결정: 당사자는 제안된 후보와 다른 중재자를 제안할 수 있지만 모든 조건에 대해 공통된 합의에 도달한 경우에만 프로세스를 진행할 수 있습니다. +* 중재가 완료되기 위한 일정을 설정합니다 (이상적으로는 2주 이내). + +중재자는 모든 당사자와 관계를 맺고 모두가 만족할 만한 해결책을 모색합니다. 완료되면 조정자는 추가 단계에 대한 권장 사항과 함께 보고서(프로세스의 모든 당사자가 심사한) 를 위원회에 제공합니다. 그런 다음 위원회는 이러한 결과를 평가하고(만족스러운 해결 여부에 관계없이) 필요하다고 판단되는 추가 조치를 결정합니다. + + +## 위원회가 신고에 응답하는 방법 + +위원회(또는 위원회 위원) 는 보고서를 받으면 먼저 보고서가 명확하고 심각한 위반에 관한 것인지 여부를 결정합니다(아래에 정의됨). 만약 그렇다면, 정기적인 신고 처리 프로세스와 더불어 즉각적인 조치가 취해져야 합니다. + + +## 명확하고 심각한 권리침해 행위 + +우리는 인터넷 통신이 명백하고 노골적인 남용에서 시작되거나 악화되는 것이 매우 흔한 일이라는 것을 알고 있습니다. 우리는 개인적인 위협, 폭력적, 성차별적 또는 인종차별적 언어와 같은 명확하고 심각한 위반을 신속하게 처리할 것입니다. + +행동 강령 위원회 위원이 명백하고 심각한 위반 사실을 알게 되면 다음과 같은 조치를 취합니다. + +* 모든 NumPy 통신 채널에서 발신자를 즉시 연결 해제합니다. +* 보고자에게 보고가 접수되었으며 발신자의 연결이 끊어졌다고 회신합니다. +* 모든 경우에 중재자는 작성자에게 연락하기 위해 합당한 노력을 기울여야 하며, 그들의 언어나 행동이 어떻게 "명백하고 심각한 위반"에 해당하는지 구체적으로 알려야 합니다. 중재자는 또한 작성자가 이것이 불공평하다고 생각하거나 NumPy에 다시 연결되기를 원하는 경우 아래와 같이 행동 강령 위원회에 검토를 요청할 권리가 있다고 말해야 합니다. 중재자는 이 설명을 행동 강령 위원회에 발송해야 합니다. +* 행동 강령 위원회는 이 메커니즘이 일반적인 열띤 의견 불일치를 통제하는 데 사용되지 않도록 하기 위해 이 메커니즘이 적용된 모든 사례를 공식적으로 검토하고 승인할 것입니다. + + +## 신고 대응 + +보고서가 위원회에 보내지면 위원회는 접수 확인을 위해 즉시 보고자에게 회신할 것입니다. 이 회신은 72시간 이내에 보내야 하며 그룹은 그보다 훨씬 빨리 회신하기 위해 노력해야 합니다. + +보고서에 충분한 정보가 포함되어 있지 않은 경우 위원회는 조치를 취하기 전에 모든 관련 데이터를 수집합니다. 위원회는 사건에 대한 보다 완전한 설명을 얻기 위해 관련된 모든 개인에게 연락할 때 운영 위원회를 대신하여 행동할 권한이 있습니다. + +그런 다음 위원회는 사건을 검토하고 최선을 다해 다음을 결정할 것입니다. + +* 무슨 일이 일어났는지 +* 이 이벤트가 행동 강령 위반에 해당하는지 여부 +* 책임자는 누구인지 +* 이것이 현재 진행 중인 상황인지, 누군가의 신체적 안전에 대한 위협이 있는지 여부 + +이 정보는 서면으로 수집되며 가능할 때마다 그룹의 심의가 녹음 및 보관됩니다(예: 채팅 내용, 이메일 토론, 녹음된 회의 통화, 음성 대화 요약 등). + +행동의 일관성을 보장하고 프로젝트에 대한 제도적 기억을 제공하기 위해 이 위원회의 모든 활동 기록을 보관하는 것이 중요합니다. 이를 지원하기 위해 이 위원회의 기본 토론 채널은 정당한 요청이 있는 경우 현재 및 미래의 위원회 구성원과 운영 위원회 구성원이 액세스할 수 있는 개인 메일링 리스트가 될 것입니다. 위원회가 목록 외 커뮤니케이션(예: 조기/신속한 응답을 위한 전화 통화)을 사용해야 할 필요성을 발견하는 경우 모든 경우에 이를 목록에 다시 요약하여 프로세스에 대한 좋은 기록이 남도록 해야 합니다. + +행동 강령 위원회는 2주 이내에 결의안에 동의하는 것을 목표로 해야 합니다. 그 시간 내에 해결 방법을 결정할 수 없는 경우 위원회는 보고자에게 해결을 위한 업데이트 및 예상 일정에 대해 응답합니다. + + +## 해결 + +위원회는 반드시 합의를 바탕으로 결의를 내야 합니다. 그룹에서 합의가 이루어지지 못하고 1주 넘게 교착 상태에 빠진 경우, 결의를 내기 위해 해당 의제는 조정위원회로 이양됩니다. + +가능한 응답은 다음과 같습니다. + +* 추가 조치 없음: + - 위반이 발생하지 않았다고 판단되는 경우 + - 위원회가 응답을 고려하는 동안 문제가 공개적으로 해결된 경우. +* 자발적 중재 조정: 모든 관련 당사자가 동의하는 경우 위원회는 위에서 설명한 대로 중재 절차를 촉진할 수 있습니다. +* 공개적으로 상기시키고 일부 행동/행동/언어가 부적절하다고 판단되었으며 그 이유를 현재 상황에서 지적하거나 일부 사람들에게 상처를 줄 수 있으며 커뮤니티가 자체 조정하도록 요청합니다. +* 관련된 개인에 대한 위원회의 사적인 견책. 이 경우 그룹 의장은 그룹을 참조하여 이메일을 통해 개인(들) 에게 질책을 전달합니다. +* 공개 질책. 이 경우 위원회 위원장은 위반이 발생한 동일한 장소에서 실행 가능한 범위 내에서 질책합니다. 예를 들어 이메일 위반에 대한 원래 메일링 리스트이지만 사람/컨텍스트가 없을 수 있는 채팅방 토론의 경우 다른 방법으로 도달할 수 있습니다. 그룹은 문서화 목적으로 이 메시지를 다른 곳에 게시하도록 선택할 수 있습니다. +* 신고자가 이 생각에 동의한다고 가정하고 공개 또는 비공개 사과 요청: 신고자는 재량에 따라 위반자와의 추가 연락을 거부할 수 있습니다. 의장이 이 요청을 전달할 것입니다. 위원회는 선택하는 경우 이 요청에 "문자열"을 첨부할 수 있습니다. 예를 들어 그룹은 위반자에게 메일링 리스트의 회원 자격을 유지하기 위해 사과를 요청할 수 있습니다. +* 위원회가 개인에게 일시적으로 커뮤니티 참여를 자제하도록 요청하는 "상호 합의 중단". 개인이 자발적으로 일시적인 휴식을 취하지 않기로 선택한 경우 위원회는 "필수 냉각 기간"을 발행할 수 있습니다. +* 일부 또는 모든 NumPy 공간(메일링 리스트, gitter.im 등)에서 영구적 또는 일시적 금지. 그룹은 이러한 모든 금지에 대한 기록을 유지하여 나중에 검토하거나 다른 방법으로 유지할 수 있습니다. + +일단 결의안이 합의되면, 그러나 그것이 시행되기 전에 위원회는 원래 신고자와 영향을 받는 다른 당사자들에게 연락하여 제안된 결의안을 설명합니다. 위원회는 이 결의안이 수용 가능한지 묻고 기록을 위해 피드백을 기록해야 합니다. + +최종적으로 위원회는 NumPy 조정위원회에 보고서를 만들어 제출하게 됩니다 (추방 등 효력이 지속되는 결의가 발생하는 경우 NumPy 핵심 팀에게도 보고합니다). + +위원회는 문제를 반드시 비공개 상태로 다룰 것입니다. 모든 공개 성명은 행동강령 위원회 혹은 NumPy 조정위원회에서 담당합니다. + + +## 이해관계 충돌 + +이해관계 충돌이 일어난 경우, 위원회 회원은 즉시 이 사실을 다른 회원에게 고지하고 필요한 경우 자진 사퇴해야 합니다. diff --git a/content/ko/tabcontents.yaml b/content/ko/tabcontents.yaml new file mode 100644 index 0000000000..4fa0164021 --- /dev/null +++ b/content/ko/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy는 [scikit-learn](https://scikit-learn.org) 및 [SciPy](https://www.scipy.org)와 같은 강력한 기계 학습 라이브러리의 기반을 형성합니다. 기계 학습이 성장함에 따라 NumPy에 구축된 라이브러리 목록도 늘어납니다. [TensorFlow의](https://www.tensorflow.org) 딥 러닝 기능은 폭넓게 응용할 수 있습니다. — 그 중에는 음성 및 이미지 인식, 텍스트 기반 애플리케이션, 시계열 분석 및 비디오 감지가 있습니다. 또 다른 딥 러닝 라이브러리인 [PyTorch](https://pytorch.org)는 컴퓨터 비전 및 자연어 처리 연구자들 사이에서 인기가 있습니다. [MXNet](https://github.com/apache/incubator-mxnet)은 딥 러닝을 위한 청사진과 템플릿을 제공하는 또 다른 AI 패키지입니다. + para2: '[ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) 메서드라고 하는 비닝(binning), 배깅(bagging), 스태킹(stacking), 부스팅(boosting)과 같은 통계 기법은 다음과 같은 도구로 구현되는 ML 알고리즘에 속합니다. [XGBoost](https://github.com/dmlc/xgboost), [LightGBM](https://lightgbm.readthedocs.io/en/latest/) 및 [CatBoost](https://catboost.ai) — – 가장 빠른 추론 엔진 중 하나입니다. [Yellowbrick](https://www.scikit-yb.org/en/latest/) 및 [Eli5](https://eli5.readthedocs.io/en/latest/)는 기계 학습 시각화를 제공합니다.' + arraylibraries: + intro: + - + text: NumPy의 API는 라이브러리가 혁신적인 하드웨어를 활용하거나, 특수 배열 유형을 생성하거나, NumPy가 제공하는 것 이상의 기능을 추가하도록 작성되는 출발점입니다. + headers: + - + text: 배열 라이브러리 + - + text: 기능 및 응용 분야 + libraries: + - + title: Dask + text: 분석을 위한 분산 배열 및 고급 병렬 처리를 통해 규모에 맞는 성능을 구현합니다. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: Python에서 GPU 가속 컴퓨팅을 구현해주며 NumPy와 호환되는 배열 라이브러리. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.chainer.org + - + title: JAX + text: "NumPy 프로그램을 부분적으로 변환하여 벡터화, GPU/TPU의 적시 컴파일을 제공하는 라이브러리." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://github.com/google/jax + - + title: Xarray + text: 고급 통계 및 시각화를 구동하기 위하여 라벨링 및 인덱싱이 이뤄진 다차원 배열을 제공 + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: Dask 및 SciPy의 희소 선형 대수와 통합되는 NumPy 호환 희소 배열 라이브러리입니다. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: 연구 프로토타이핑에서 프로덕션 배포로의 경로를 가속화하는 딥 러닝 프레임워크입니다. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: 기계 학습을 위한 엔드 투 엔드 플랫폼으로 ML 기반 애플리케이션을 쉽게 구축하고 배포할 수 있습니다. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: MXNet + text: 유연한 연구 프로토타이핑 및 생산에 적합한 딥 러닝 프레임워크입니다. + img: /images/content_images/arlib/mxnet_logo.png + alttext: MXNet + url: https://mxnet.apache.org/ + - + title: Arrow + text: 열 기반 메모리 내 데이터 및 분석을 위한 교차 언어 개발 플랫폼입니다. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://github.com/apache/arrow + - + title: xtensor + text: 수치 분석을 위한 브로드캐스팅 및 지연 컴퓨팅이 포함된 다차원 배열. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: NumPy와 유사한 관용어로 JSON과 유사한 데이터를 조작합니다. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: 구현에서 API를 분리하는 Python 백엔드 시스템; unumpy는 NumPy API를 제공합니다. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + scientificdomains: + intro: + - + text: Python으로 작업하는 거의 모든 과학자는 NumPy의 힘을 이용합니다. + - + text: "NumPy는 C 및 Fortran과 같은 언어의 계산 능력을 배우고 사용하기 훨씬 쉬운 언어인 Python으로 가져옵니다. 이 힘에는 단순함이 있습니다. NumPy의 솔루션은 종종 명확하고 우아합니다." + libraries: + - + title: 양자 컴퓨팅 + alttext: 컴퓨터 칩 + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: 통계적 컴퓨팅 + alttext: 선이 위로 이동하는 선그래프 + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://github.com/statsmodels/statsmodels + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://github.com/mwaskom/seaborn + label: Seaborn + - + title: 신호 처리 + alttext: 양의 값과 음의 값을 가지는 막대 차트 + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: 이미지 처리 + alttext: 산이 찍힌 사진 + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: 그래프 및 네트워크 + alttext: 간단한 그래프. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: 천문학 + alttext: 망원경 + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://github.com/sunpy/sunpy + label: SunPy + - + url: https://github.com/spacepy/spacepy + label: SpacePy + - + title: 인지심리학 + alttext: 톱니바퀴가 안에서 돌아가는 사람의 머리 + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: 생물정보학 + alttext: DNA 가닥 + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: 베이지안 추론 + alttext: 종 모양 곡선이 그려진 그래프 + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: 수학적 분석 + alttext: 수학 기호 4개 + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://github.com/cvxgrp/cvxpy + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: 화학 + alttext: 시험관 + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: 지구과학 + alttext: 지구 + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: 지리학적 처리 + alttext: 지도 + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: 아키텍처 및 엔지니어링 + alttext: 마이크로프로세서 개발 보드 + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: 도시 에너지 분석가 + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy는 풍부한 데이터 과학 라이브러리 생태계의 핵심에 있습니다. 일반적인 탐색적 데이터 과학 워크플로는 다음과 같습니다." + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Python 라이브러리 다이어그램. 다섯 가지 범주는 '추출, 변환, 로드', '데이터 탐색', '데이터 모델링', '데이터 평가' 및 '데이터 프레젠테이션'입니다. + image2: + - + img: /images/content_images/data-science.png + alttext: 세 개의 겹치는 원의 다이어그램입니다. 원에는 '수학', '컴퓨터 과학' 및 '영역 전문성'이라는 레이블이 지정되어 있습니다. 세 개의 원이 겹치는 다이어그램의 중간에는 'Data Science'라는 레이블이 붙은 영역이 있습니다. + examples: + - + text: "추출, 변환, 로드: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https:/ /pyjanitor.readthedocs.io/)" + - + text: "탐색적 분석: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "모델링 및 평가: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "대시보드에서 보고: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://github.com/voila-dashboards/voila)" + content: + - + text: 대용량 데이터의 경우 [Dask](https://dask.org) 및 [Ray](https://ray.io/)가 확장되도록 설계되었습니다. 안정적인 배포는 데이터 버전 관리([DVC](https://dvc.org)), 실험 추적([MLFlow](https://mlflow.org)) 및 워크플로 자동화([Airflow](https:// airflow.apache.org), Dagster](https://dagster.io) 와 [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: Matplotlib으로 만든 streamplot + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: ggpy로 만든 산점도 + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: plotly로 만든 상자 그림 + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: altair로 만든 스트림 그래프 + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: Seaborn에서 만든 두 가지 유형의 그래프, 플롯 그래프와 빈도 그래프의 pairplot + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: PyVista로 만든 3D 볼륨 렌더링. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: napari로 만든 다차원 이미지. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: vispy로 만든 보로노이 다이어그램. + content: + - + text: 몇 가지만 예를 들자면 NumPy는 [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://github.com/napari/napari), [PyVista](https://github.com/pyvista/pyvista) 등이 포함되어 있으며 급격히 성장해나가고 있는 [Python visualization landscape](https://pyviz.org/overviews/index.html)의 핵심 구성 요소 중 하나입니다. + - + text: NumPy는 큰 배열을 고속으로 처리할 수 있어 연구자가 기존 Python이 처리할 수 있는 데이터셋보다 훨씬 큰 것도 시각화할 수 있도록 합니다. diff --git a/content/ko/teams/index.md b/content/ko/teams/index.md new file mode 100644 index 0000000000..f0df11d1f9 --- /dev/null +++ b/content/ko/teams/index.md @@ -0,0 +1,35 @@ +--- +title: NumPy 팀 +sidebar: false +--- + +저희는 양질의 오픈소스 소프트웨어를 구축하여 전 세계의 과학 및 연구 커뮤니티를 지원한다는 사명을 지닌 국제적 팀입니다. +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# 운영 + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/ko/user-survey-2020.md b/content/ko/user-survey-2020.md new file mode 100644 index 0000000000..68505b30f9 --- /dev/null +++ b/content/ko/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: 2020 NUMPY 커뮤니티 설문조사 +sidebar: false +--- + +2020년, NumPy 팀은 조사방법론 학사 과정의 학생 및 교수와 협력하여 미시간 대학과 매릴렌드 대학이 공동으로 개최한 첫 공식 NumPy 커뮤니티 조사를 실시했습니다. 75개국 내 1200명 이상의 사용자 여러분들께서 저희가 NumPy 커뮤니티의 가닥을 잡을 수 있도록 도와주기 위해 참여해주셨으며 프로젝트의 미래에 대한 생각을 표현해주셨습니다. + +{{< figure src="/surveys/NumPy_usersurvey_2020_report_cover.png" class="fig-left" alt="'NumPy Community Survey 2020 - results'라는 제목이 붙은 2020년 NumPy 사용자 설문조사 보고서 표지" width="250">}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = '"2020 NumPy 커뮤니티 설문조사 - 결과"라는 제목이 붙은 2020 NumPy 사용자 설문조사 보고서의 표지' width = '250' +{{< /figure >}} + +**[보고서를 내려받아서](/surveys/NumPy_usersurvey_2020_report.pdf)** 설문조사 결과를 자세히 들여다 보세요. + + +요점만 보시려면, **[이 인포그래픽](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**을 참고하시기 바랍니다. + +더욱 자세한 정보가 궁금하신가요? **https://numpy.org/user-survey-2020-details/** 페이지를 방문하세요. + diff --git a/content/ko/user-surveys.md b/content/ko/user-surveys.md new file mode 100644 index 0000000000..9fec78190d --- /dev/null +++ b/content/ko/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: NUMPY 사용자 설문조사 +sidebar: false +--- + +**2020년** NumPy 조사 팀은 조사방법론 학사 과정의 학생 및 교수와 협력하여 미시간 대학과 매릴렌드 대학이 공동으로 개최한 첫 공식 NumPy 커뮤니티 조사를 실시했습니다. [여기](https://numpy.org/user-survey-2020/)서 조사 결과를 확인하세요. + +**2021년** 수집한 데이터가 현재 분석 중입니다. + +과거나 미래 설문조사에 대해 질문이나 제안 사항이 있으시면, [여기](https://github.com/numpy/numpy-surveys/issues)서 이슈를 생성하세요. diff --git a/content/pt/_index.md b/content/pt/_index.md index 0a39687659..14793a6be5 100644 --- a/content/pt/_index.md +++ b/content/pt/_index.md @@ -1,5 +1,5 @@ --- -title: +title: null --- {{< grid columns="1 2 2 3" >}} @@ -10,6 +10,7 @@ title = 'Arrays n-dimensionais poderosas' body = ''' Rápidos e versáteis, os conceitos de vetorização, indexação e broadcasting do NumPy são, na prática, o padrão em computação com arrays. ''' +{{< /card >}} [[item]] type = 'card' @@ -17,6 +18,15 @@ title = 'Ferramentas de computação numérica' body = ''' O NumPy oferece um conjunto completo de funções matemáticas, geradores de números aleatórios, rotinas de álgebra linear, transformadas de Fourier, e mais. ''' +{{< /card >}} + +[[item]] +type = 'card' +title = 'Código aberto' +body = ''' +Distribuido com uma [licença BSD](https://github.com/numpy/numpy/blob/main/LICENSE.txt) liberal, o NumPy é desenvolvido e mantido [publicamente no GitHub](https://github.com/numpy/numpy) por uma [comunidade](/pt/community) vibrante, responsiva, e diversa. +''' +{{< /card >}} [[item]] type = 'card' @@ -24,13 +34,15 @@ title = 'Interoperabilidade' body = ''' O NumPy suporta um grande número de plataformas de hardware e computação, e pode ser combinado com bibliotecas de computação com arrays esparsas, distribuidas ou em GPUs. ''' +{{< /card >}} [[item]] type = 'card' title = 'Alto desempenho' body = ''' -O núcleo do NumPy é feito de código otimizado em C. Experimente a flexibilidade do Python com a velocidade de código compilado. +O núcleo do NumPy é feito de código otimizado em C. Experimente a flexibilidade do Python com a velocidade de código compilado. Aproveite a flexibilidade do Python com a velocidade de código compilado. ''' +{{< /card >}} [[item]] type = 'card' @@ -38,12 +50,7 @@ title = 'Fácil de usar' body = ''' A sintaxe de alto nível do NumPy torna-o acessível e produtivo para programadores de qualquer nível de experiência e formação. ''' - -[[item]] -type = 'card' -title = 'Código aberto' -body = ''' -Distribuido com uma [licença BSD](https://github.com/numpy/numpy/blob/main/LICENSE.txt) liberal, o NumPy é desenvolvido e mantido [publicamente no GitHub](https://github.com/numpy/numpy) por uma [comunidade](/pt/community) vibrante, responsiva, e diversa. ''' +{{< /card >}} {{< /grid >}} diff --git a/content/pt/about.md b/content/pt/about.md index 8461f68e0e..8757ba22a6 100644 --- a/content/pt/about.md +++ b/content/pt/about.md @@ -55,7 +55,7 @@ Veja a página sobre os [Times](/teams) para mais informações. - Charles Harris - Ralf Gommers -- Inessa Pawson +- Melissa Weber Mendonça - Sebastian Berg - Membro externo: Thomas Caswell diff --git a/content/pt/case-studies/blackhole-image.md b/content/pt/case-studies/blackhole-image.md index d8429b35cc..011b990bbc 100644 --- a/content/pt/case-studies/blackhole-image.md +++ b/content/pt/case-studies/blackhole-image.md @@ -3,20 +3,14 @@ title: "Estudo de Caso: A Primeira Imagem de um Buraco Negro" sidebar: false --- -{{< figure >}} -src = '/images/content_images/cs/blackhole.jpg' -title = 'Black Hole M87' -alt = 'black hole image' -attribution = '(Créditos: Event Horizon Telescope Collaboration)' -attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< figure src="/images/content_images/cs/blackhole.jpg" caption="**Black Hole M87**" alt="black hole image" attr="*(Créditos: Event Horizon Telescope Collaboration)*" attrlink="https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg" >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Créditos: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' {{< /figure >}} -{{< blockquote - cite="https://www.youtube.com/watch?v=BIvezCVcsYs" - by="Katie Bouman, *Professora Assistente, Ciências da Computação e Matemática, Caltech*" ->}} -Criar uma imagem do Buraco Negro M87 é como tentar ver algo que, por definição, é impossível de se ver. -{{< /blockquote >}} +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Professora Assistente, Ciências da Computação e Matemática, Caltech*" +> }} Criar uma imagem do Buraco Negro M87 é como tentar ver algo que, por definição, é impossível de se ver. +> +> {{< /blockquote >}} ## Um telescópio do tamanho da Terra @@ -45,13 +39,8 @@ O [telescópio Event Horizon (EHT)](https://eventhorizontelescope.org), é um co Quando o objetivo é algo que nunca foi visto, como os cientistas podem ter confiança de que sua imagem está correta? {{< figure >}} -src = '/images/content_images/cs/dataprocessbh.png' -title = 'Etapas de Processamento de Dados do EHT' -alt = 'data pipeline' -align = 'center' -attribution = '(Créditos do diagrama: The Astrophysical Journal, Event Horizon Telescope Collaboration)' -attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' -{{< /figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'Etapas de Processamento de Dados do EHT' alt = 'data pipeline' align = 'center' attribution = '(Créditos do diagrama: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< figure src="/images/content_images/cs/bh_numpy_role.png" class="fig-center" alt="role of numpy" caption="**O papel do NumPy na criação da primeira imagem de um Buraco Negro**" >}} ## O papel do NumPy @@ -62,17 +51,13 @@ A colaboração do EHT venceu esses desafios ao estabelecer equipes independente O trabalho desse grupo ilustra o papel do ecossistema científico do Python no avanço da ciência através da análise de dados colaborativa. {{< figure >}} -src = '/images/content_images/cs/bh_numpy_role.png' -alt = 'role of numpy' -title = 'O papel do NumPy na criação da primeira imagem de um Buraco Negro' +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'O papel do NumPy na criação da primeira imagem de um Buraco Negro' {{< /figure >}} Por exemplo, o pacote Python [`eht-imaging`][ehtim] fornece ferramentas para simular e realizar reconstrução de imagem nos dados do VLBI. O NumPy está no coração do processamento de dados vetoriais usado neste pacote, como ilustrado pelo gráfico parcial de dependências de software abaixo. {{< figure >}} -src = '/images/content_images/cs/ehtim_numpy.png' -alt = 'ehtim dependency map highlighting numpy' -title = 'Diagrama de dependência de software do pacote ehtim evidenciando o NumPy' +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Diagrama de dependência de software do pacote ehtim evidenciando o NumPy' {{< /figure >}} Além do NumPy, muitos outros pacotes como [SciPy](https://www.scipy.org) e [Pandas](https://pandas.io) foram usados na *pipeline* de processamento de dados para criar a imagem do buraco negro. Os arquivos astronômicos de formato padrão e transformações de tempo/coordenadas foram tratados pelo [Astropy][astropy] enquanto a [Matplotlib][mpl] foi usada na visualização de dados em todas as etapas de análise, incluindo a geração da imagem final do buraco negro. @@ -82,9 +67,7 @@ Além do NumPy, muitos outros pacotes como [SciPy](https://www.scipy.org) e [Pan A estrutura de dados n-dimensional que é a funcionalidade central do NumPy permitiu aos pesquisadores manipular grandes conjuntos de dados, fornecendo a base para a primeira imagem de um buraco negro. Esse momento marcante na ciência fornece evidências visuais impressionantes para a teoria de Einstein. Esta conquista abrange não apenas avanços tecnológicos, mas colaboração científica em escala internacional entre mais de 200 cientistas e alguns dos melhores observatórios de rádio do mundo. Eles usaram algoritmos e técnicas de processamento de dados inovadores, que aperfeiçoaram os modelos astronômicos existentes, para ajudar a descobrir um dos mistérios do universo. {{< figure >}} -src = '/images/content_images/cs/numpy_bh_benefits.png' -alt = 'numpy benefits' -title = 'Funcionalidades-chave do NumPy utilizadas' +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Funcionalidades-chave do NumPy utilizadas' {{< /figure >}} [resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole diff --git a/content/pt/case-studies/cricket-analytics.md b/content/pt/case-studies/cricket-analytics.md index 8d70c776a6..1fe552a614 100644 --- a/content/pt/case-studies/cricket-analytics.md +++ b/content/pt/case-studies/cricket-analytics.md @@ -3,20 +3,14 @@ title: "Estudo de Caso: Análise de Críquete, a revolução!" sidebar: false --- -{{< figure >}} -src = '/images/content_images/cs/ipl-stadium.png' -title = 'IPLT20, o maior festival de Críquete da Índia' -alt = 'Copa e estádio da Indian Premier League Cricket' -attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' -attributionlink = 'https://unsplash.com/@aksh1802' +{{< figure src="/images/content_images/cs/ipl-stadium.png" caption="**IPLT20, o maior festival de Críquete da Índia**" alt="Copa e estádio da Indian Premier League Cricket" attr="*(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))*" attrlink="https://unsplash.com/@aksh1802" >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, o maior festival de Críquete da Índia' alt = 'Copa e estádio da Indian Premier League Cricket' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' {{< /figure >}} -{{< blockquote - cite="https://www.scoopwhoop.com/sports/ms-dhoni/" - by="M S Dhoni, *Jogador Internacional de Críquete, ex-capitão, Time Indiano, joga pelo Chennai Super Kings na IPL*" ->}} -Você não joga para a torcida, joga para o país. -{{< /blockquote >}} +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *Jogador Internacional de Críquete, ex-capitão, Time Indiano, joga pelo Chennai Super Kings na IPL*" +> }} Você não joga para a torcida, joga para o país. +> +> {{< /blockquote >}} ## Sobre Críquete @@ -34,13 +28,8 @@ Hoje, existem conjuntos ricos e quase infinitos de estatísticas e informações * contribuições dos jogadores para vitórias e derrotas para a tomada de decisões estratégicas na composição do time {{< figure >}} -src = '/images/content_images/cs/cricket-pitch.png' -title = 'Pitch de críquete, o ponto focal do campo' -alt = 'Um pitch de críquete com um boleador e batsmen' -align = 'center' -attribution = '(Créditos de imagem: Debarghya Das)' -attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' -{{< /figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Pitch de críquete, o ponto focal do campo' alt = 'Um pitch de críquete com um boleador e batsmen' align = 'center' attribution = '(Créditos de imagem: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< figure src="/images/content_images/cs/numpy_ca_benefits.png" class="fig-center" alt="Diagrama mostrando os benefícios de usar a NumPy para análise de críquete" caption="**Recursos principais da NumPy utilizados**" >}} ### Objetivos Principais da Análise de Dados @@ -49,11 +38,7 @@ attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' * Além da análise histórica, os modelos preditivos explorados para determinar os possíveis resultados das partidas requerem um conhecimento significativo sobre processamento numérico e ciência de dados, ferramentas de visualização e a possibilidade de incluir observações mais recentes na análise. {{< figure >}} -src = '/images/content_images/cs/player-pose-estimator.png' -alt = 'estimador de postura' -title = 'Estimador de Postura de Críquete' -attribution = '(Créditos de imagem: connect.vin)' -attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'estimador de postura' title = 'Estimador de Postura de Críquete' attribution = '(Créditos de imagem: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' {{< /figure >}} ### Desafios @@ -83,7 +68,5 @@ A análise de dados esportivos é um campo próspero. Muitos pesquisadores e emp A análise de dados esportivos é revolucionária quando se trata de como os jogos profissionais são jogados, especialmente se consideramos como acontece a tomada de decisões estratégicas, que até pouco tempo era principalmente feita com base na "intuição" ou adesão a tradições passadas. O NumPy forma uma fundação sólida para um grande conjunto de pacotes Python que fornecem funções de alto nível relacionadas à análise de dados, aprendizagem de máquina e algoritmos de IA. Estes pacotes são amplamente implantados para se obter informações em tempo real que ajudam na tomada de decisão para resultados decisivos, tanto em campo como para se derivar inferências e orientar negócios em torno do jogo de críquete. Encontrar os parâmetros ocultos, padrões, e atributos que levam ao resultado de uma partida de críquete ajuda os envolvidos a tomar nota das percepções do jogo que estariam de outra forma ocultas nos números e estatísticas. {{< figure >}} -src = '/images/content_images/cs/numpy_ca_benefits.png' -alt = 'Diagrama mostrando os benefícios de usar a NumPy para análise de críquete' -title = 'Recursos principais da NumPy utilizados' +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagrama mostrando os benefícios de usar a NumPy para análise de críquete' title = 'Recursos principais da NumPy utilizados' {{< /figure >}} diff --git a/content/pt/case-studies/deeplabcut-dnn.md b/content/pt/case-studies/deeplabcut-dnn.md index 557b336ab8..213412426d 100644 --- a/content/pt/case-studies/deeplabcut-dnn.md +++ b/content/pt/case-studies/deeplabcut-dnn.md @@ -3,20 +3,14 @@ title: "Estudo de Caso: Estimativa de Pose 3D com DeepLabCut" sidebar: false --- -{{< figure >}} -src = '/images/content_images/cs/mice-hand.gif' -title = 'Análise de movimentos de mãos de camundongos usando DeepLapCut' -alt = 'micehandanim' -attribution = '(Fonte: www.deeplabcut.org )' -attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< figure src="/images/content_images/cs/mice-hand.gif" class="fig-center" caption="**Análise de movimentos de mãos de camundongos usando DeepLapCut**" alt="micehandanim" attr="*(Fonte: www.deeplabcut.org )*" attrlink="http://www.mousemotorlab.org/deeplabcut">}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Análise de movimentos de mãos de camundongos usando DeepLapCut' alt = 'micehandanim' attribution = '(Fonte: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' {{< /figure >}} -{{< blockquote - cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" - by="Alexander Mathis, *Professor Assistente, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" ->}} -Software de código aberto está acelerando a Biomedicina. DeepLabCut permite a análise automática de vídeos de comportamento animal usando Deep Learning. -{{< /blockquote >}} +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Professor Assistente, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Software de código aberto está acelerando a Biomedicina. DeepLabCut permite a análise automática de vídeos de comportamento animal usando Deep Learning. +> +> {{< /blockquote >}} ## Sobre o DeepLabCut @@ -25,10 +19,7 @@ Software de código aberto está acelerando a Biomedicina. DeepLabCut permite a Várias áreas de pesquisa, incluindo a neurociência, a medicina e a biomecânica, utilizam dados de rastreamento da movimentação de animais. A DeepLabCut ajuda a compreender o que os seres humanos e outros animais estão fazendo, analisando ações que foram registradas em vídeo. Ao usar automação para tarefas trabalhosas de monitoramento e marcação, junto com análise de dados baseada em redes neurais profundas, a DeepLabCut garante que estudos científicos envolvendo a observação de animais como primatas, camundongos, peixes, moscas etc. sejam mais rápidos e precisos. {{< figure >}} -src = '/images/content_images/cs/race-horse.gif' -title = 'Pontos coloridos rastreiam as posições das partes do corpo de um cavalo de corrida' -alt = 'horserideranim' -attribution = '(Fonte: Mackenzie Mathis)' +src = '/images/content_images/cs/race-horse.gif' title = 'Pontos coloridos rastreiam as posições das partes do corpo de um cavalo de corrida' alt = 'horserideranim' attribution = '(Fonte: Mackenzie Mathis)' {{< /figure >}} O rastreamento não invasivo dos animais pela DeepLabCut através da extração de poses é crucial para pesquisas científicas em domínios como a biomecânica, genética, etologia e neurociência. Medir as poses dos animais de maneira não invasiva através de vídeo - sem marcadores - com fundos dinâmicos é computacionalmente desafiador, tanto tecnicamente quanto em termos de recursos e dados de treinamento necessários. @@ -59,12 +50,7 @@ Recentemente, foi introduzido o [modelo DeepLabCut zoo](http://www.mousemotorlab - inferências de desenho usando ferramentas integradas de visualização {{< figure >}} -src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' -title = 'Passos na estimação de poses com DeepLabCut' -alt = 'dlcsteps' -align = 'center' -attribution = '(Fonte: DeepLabCut)' -attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Passos na estimação de poses com DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Fonte: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' {{< /figure >}} ### Desafios @@ -81,13 +67,8 @@ attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/pho Por último, mas não menos importante, manipulação de matrizes - processar grandes conjuntos de matrizes correspondentes a várias imagens, tensores alvo e pontos-chave é bastante desafiador. -{{< figure >}} -src = '/images/content_images/cs/pose-estimation.png' -title = 'Estimação de poses e complexidade' -alt = 'challengesfig' -align = 'center' -attribution = '(Fonte: Mackenzie Mathis)' -attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< figure src="/images/content_images/cs/numpy_dlc_benefits.png" class="fig-center" alt="numpy benefits" caption="**Recursos chave do NumPy utilizados**" >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Estimação de poses e complexidade' alt = 'challengesfig' align = 'center' attribution = '(Fonte: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' {{< /figure >}} ## O papel da NumPy nos desafios da estimação de poses @@ -105,11 +86,7 @@ As seguintes características da NumPy desempenharam um papel fundamental para a A DeepLabCut utiliza as capacidades de manipulação de arrays da NumPy em todo o fluxo de trabalho oferecido pelo seu conjunto de ferramentas. Em particular, a NumPy é usada para amostragem de quadros distintos para serem rotulados com anotações humanas e para escrita, edição e processamento de dados de anotação. Dentro da TensorFlow, a rede neural é treinada pela tecnologia DeepLabCut em milhares de iterações para prever as anotações verdadeiras dos quadros. Para este propósito, densidades de alvo (*scoremaps*) são criadas para colocar a estimativa como um problema de tradução de imagem a imagem. Para tornar as redes neurais robustas, o aumento de dados é empregado, o que requer o cálculo de scoremaps alvo sujeitos a várias etapas geométricas e de processamento de imagem. Para tornar o treinamento rápido, os recursos de vectorização da NumPy são utilizados. Para inferência, as previsões mais prováveis de scoremaps alvo precisam ser extraídas e é necessário "vincular previsões para montar animais individuais" de maneira eficiente. {{< figure >}} -src = '/images/content_images/cs/deeplabcut-workflow.png' -title = 'Fluxo de dados DeepLabCut' -alt = 'workflow' -attribution = '(Fonte: Mackenzie Mathis)' -attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'Fluxo de dados DeepLabCut' alt = 'workflow' attribution = '(Fonte: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' {{< /figure >}} ## Resumo @@ -117,9 +94,7 @@ attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The- Observação e descrição eficiente do comportamento é uma peça fundamental da etologia, neurociência, medicina e tecnologia modernas. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) permite que os pesquisadores estimem a pose do sujeito, permitindo efetivamente que o seu comportamento seja quantificado. Com apenas um pequeno conjunto de imagens de treinamento, o conjunto de ferramentas em Python da DeepLabCut permite treinar uma rede neural tão precisa quanto a rotulagem humana, expandindo assim sua aplicação para não só análise de comportamento dentro do laboratório, mas também potencialmente em esportes, análise de locomoção, medicina e estudos sobre reabilitação. Desafios complexos em combinatória e processamento de dados enfrentados pelos algoritmos da DeepLabCut são tratados através do uso de recursos de manipulação de matriz do NumPy. {{< figure >}} -src = '/images/content_images/cs/numpy_dlc_benefits.png' -alt = 'numpy benefits' -title = 'Recursos chave do NumPy utilizados' +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Recursos chave do NumPy utilizados' {{< /figure >}} [cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 diff --git a/content/pt/case-studies/gw-discov.md b/content/pt/case-studies/gw-discov.md index cb371914fc..bcda50782c 100644 --- a/content/pt/case-studies/gw-discov.md +++ b/content/pt/case-studies/gw-discov.md @@ -3,18 +3,11 @@ title: "Estudo de Caso: Descoberta de Ondas Gravitacionais" sidebar: false --- -{{< figure >}} -src = '/images/content_images/cs/gw_sxs_image.png' -title = 'Ondas gravitacionais' -alt = 'binary coalesce black hole generating gravitational waves' -attribution = '(Créditos de imagem: O projeto Simulating eXtreme Spacetimes (SXS) no LIGO)' -attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< figure src="/images/content_images/cs/gw_sxs_image.png" class="fig-center" caption="**Ondas gravitacionais**" alt="binary coalesce black hole generating gravitational waves" attr="*(Créditos de imagem: O projeto Simulating eXtreme Spacetimes (SXS) no LIGO)*" attrlink="https://youtu.be/Zt8Z_uzG71o" >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Ondas gravitacionais' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Créditos de imagem: O projeto Simulating eXtreme Spacetimes (SXS) no LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' {{< /figure >}} -{{< blockquote - cite="https://www.youtube.com/watch?v=BIvezCVcsYs" - by="David Shoemaker, *Colaborador Científico no LIGO*" >}} -O ecossistema científico Python é uma infraestrutura crítica para a pesquisa feita no LIGO. +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *Colaborador Científico no LIGO*" >}} O ecossistema científico Python é uma infraestrutura crítica para a pesquisa feita no LIGO. {{< /blockquote >}} ## Sobre [Ondas Gravitacionais](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) e o [LIGO](https://www.ligo.caltech.edu) @@ -47,12 +40,8 @@ O [Observatório Interferômetro Laser de Ondas Gravitacionais (LIGO)](https://w Uma vez que os obstáculos relacionados a compreender as equações de Einstein bem o suficiente para resolvê-las usando supercomputadores foram ultrapassados, o próximo grande desafio era tornar os dados compreensíveis para o cérebro humano. A modelagem de simulações, assim como a detecção de sinais, exigem técnicas de visualização efetiva. A visualização também desempenha um papel de fornecer mais credibilidade à relatividade numérica aos olhos dos aficionados pela ciência pura, que não dão importância suficiente à relatividade numérica até que a imagem e as simulações tornem mais fácil a compreensão dos resultados para um público maior. A velocidade da computação complexa, e da renderização, re-renderização de imagens e simulações usando as últimas entradas e informações experimentais pode ser uma atividade demorada que desafia pesquisadores neste domínio. {{< figure >}} -src = '/images/content_images/cs/gw_strain_amplitude.png' -alt = 'gravitational waves strain amplitude' -title = 'Amplitude estimada da deformação das ondas gravitacionais do evento GW150914' -attribution = '(Créditos do gráfico: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' -attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' -{{< /figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Amplitude estimada da deformação das ondas gravitacionais do evento GW150914' attribution = '(Créditos do gráfico: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< figure src="/images/content_images/cs/numpy_gw_benefits.png" class="fig-center" alt="numpy benefits" caption="**Recursos chave da NumPy utilizados**" >}} ## O papel da NumPy na detecção de ondas gravitacionais @@ -70,17 +59,13 @@ NumPy, o pacote padrão de análise numérica para Python, foi parte do software * [Software](https://github.com/lscsoft) fundamental desenvolvido na análise de ondas gravitacionais, como [GwPy](https://gwpy.github.io/docs/stable/overview.html) e [PyCBC](https://pycbc.org) usam NumPy e AstroPy internamente para fornecer interfaces baseadas em objetos para utilidades, ferramentas e métodos para o estudo de dados de detectores de ondas gravitacionais. {{< figure >}} -src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' -alt = 'gwpy-numpy depgraph' -title = 'Grafo de dependências mostrando como o pacote GwPy depended da NumPy' +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Grafo de dependências mostrando como o pacote GwPy depended da NumPy' {{< /figure >}} ---- {{< figure >}} -src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' -alt = 'PyCBC-numpy depgraph' -title = 'Grafo de dependências mostrando como o pacote PyCBC depended da NumPy' +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Grafo de dependências mostrando como o pacote PyCBC depended da NumPy' {{< /figure >}} ## Resumo @@ -88,7 +73,5 @@ title = 'Grafo de dependências mostrando como o pacote PyCBC depended da NumPy' A detecção de ondas gravitacionais permitiu que pesquisadores descobrissem fenômenos totalmente inesperados ao mesmo tempo em que proporcionaram novas idéias sobre muitos dos fenômenos mais profundos conhecidos na astrofísica. O processamento e a visualização de dados é um passo crucial que ajuda cientistas a obter informações coletadas de observações científicas e a entender os resultados. Os cálculos são complexos e não podem ser compreendidos por humanos a não ser que sejam visualizados usando simulações de computador que são alimentadas com dados e análises reais observados. A NumPy, junto com outras bibliotecas Python, como matplotlib, pandas, e scikit-learn [permitem que pesquisadores](https://www.gw-openscience.org/events/GW150914/) respondam perguntas complexas e descubram novos horizontes em nossa compreensão do universo. {{< figure >}} -src = '/images/content_images/cs/numpy_gw_benefits.png' -alt = 'numpy benefits' -title = 'Recursos chave da NumPy utilizados' +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Recursos chave da NumPy utilizados' {{< /figure >}} diff --git a/content/pt/citing-numpy.md b/content/pt/citing-numpy.md index f947689548..5ed24ab95d 100644 --- a/content/pt/citing-numpy.md +++ b/content/pt/citing-numpy.md @@ -5,7 +5,7 @@ sidebar: false Se a NumPy é importante na sua pesquisa, e você gostaria de dar reconhecimento ao projeto na sua publicação acadêmica, sugerimos citar os seguintes documentos: -* Harris, C.R., Millman, K.J., van der Walt, S.J. Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Link da editora](https://www.nature.com/articles/s41586-020-2649-2)). +* Harris, C.R., Millman, K.J., van der Walt, S.J. Harris, C.R., Millman, K.J., van der Walt, S.J. Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Link da editora](https://www.nature.com/articles/s41586-020-2649-2)). _Em formato BibTeX:_ diff --git a/content/pt/config.yaml b/content/pt/config.yaml index fadb422094..0041d0b2ea 100644 --- a/content/pt/config.yaml +++ b/content/pt/config.yaml @@ -85,9 +85,6 @@ params: - link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng icon: youtube - - - link: https://twitter.com/numpy_team - icon: twitter quicklinks: column1: title: "" diff --git a/content/pt/contribute.md b/content/pt/contribute.md index 65b82636b8..5ba54f9bde 100644 --- a/content/pt/contribute.md +++ b/content/pt/contribute.md @@ -17,19 +17,16 @@ Nossa comunidade deseja tratar todos da mesma forma e valorizar todas as contrib Para pessoas programadoras, este [guia](https://numpy.org/devdocs/dev/index.html#development-process-summary) explica como contribuir para a base de código.
Confira também nosso [canal do YouTube](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) para obter informações adicionais. - ### Revisar pull requests O projeto tem mais de 250 pull requests abertos -- o que significa que muitas potenciais melhorias e muitos contribuidores de código aberto estão aguardando feedback. Se você é uma pessoa programadora que conhece o NumPy, você pode ajudar, mesmo que não tenha familiaridade com o código. Você pode: * resumir uma discussão longa * fazer triagem de PRs de documentação * testar alterações propostas - ### Desenvolvimento de materiais educacionais O [Guia do Usuário](https://numpy.org/devdocs) do Numpy está sendo reformado. Precisamos de novos tutoriais, how-to's e de explicações de conceitos, e o site precisa de reestruturação. Oportunidades não se limitam a pessoas com experiência em escrita técnica. Também procuramos exemplos práticos, notebooks e vídeos. A [NEP 44](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) explica nossas ideias para reestruturar a documentação do NumPy — talvez você também tenha outras ideias. - ### Triagem de Issues O [*issue tracker* do NumPy](https://github.com/numpy/numpy/issues) tem _um monte_ de issues abertas. Algumas não são mais válidas, algumas deveriam ser priorizadas, e algumas poderiam ser boas para pessoas que estão procurando sua primeira contribuição. Você pode: @@ -41,22 +38,18 @@ O [*issue tracker* do NumPy](https://github.com/numpy/numpy/issues) tem _um mont Sinta-se à vontade! - ### Desenvolvimento do site Acabamos de renovar o nosso site, mas estamos longe de terminar. Se você adora o desenvolvimento web, estas [issues](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) listam algumas de nossas necessidades não atendidas -- e sinta-se livre para compartilhar suas próprias ideias. - ### Design gráfico Nós mal podemos começar a listar as contribuições que uma pessoa com conhecimento em design gráfico pode fazer aqui. Nossa documentação precisa de ilustrações; nosso site crescente precisa de imagens -- há muitas oportunidades. - ### Traduzir conteúdo do site Planejamos várias traduções do [numpy.org](https://numpy.org) para tornar o NumPy acessível aos usuários em seu idioma nativo. Tradutores voluntários estão no coração deste esforço. Veja [aqui](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) para informações; comente [nesta issue do GitHub](https://github.com/numpy/numpy.org/issues/55) para se envolver. - ### Coordenação e promoção na comunidade Através do contato com a comunidade podemos compartilhar nosso trabalho para mais pessoas e descobrir onde precisamos trabalhar mais. Estamos ansiosos para que mais pessoas se envolvam em esforços como nossa conta no [Twitter](https://twitter.com/numpy_team), na organização de [sprints](https://scisprints.github.io/) sobre o NumPy, uma newsletter, e talvez um blog. @@ -64,3 +57,9 @@ Através do contato com a comunidade podemos compartilhar nosso trabalho para ma ### Financiamento O NumPy foi um projeto totalmente voluntário por muitos anos, mas conforme sua importância cresceu, tornou-se clara a necessidade de apoio financeiro para garantir estabilidade e crescimento. [Esta palestra na SciPy'19](https://www.youtube.com/watch?v=dBTJD_FDVjU) explica quanta diferença esse suporte fez. Como todo o mundo das organizações sem fins lucrativos, nós estamos constantemente procurando bolsas, patrocinadores e outros tipos de apoio. Nós temos uma série de ideias e é claro que nós damos as boas-vindas a mais. Habilidade de buscar financiamento é uma habilidade rara aqui -- apreciaríamos a sua ajuda. + +### Doar + +Se você gostaria de contribuir com o NumPy fazendo uma doação, visite [https://numpy.org/pt/about/#doações](https://numpy.org/pt/about/#doa%C3%A7%C3%B5es). + + diff --git a/content/pt/gethelp.md b/content/pt/gethelp.md index bba586e7f2..047be9368d 100644 --- a/content/pt/gethelp.md +++ b/content/pt/gethelp.md @@ -3,11 +3,9 @@ title: Obter ajuda sidebar: false --- -**Perguntas de usuários:** A melhor maneira de obter ajuda é postar sua pergunta em um site como [StackOverflow](http://stackoverflow.com/questions/tagged/numpy), com milhares de usuários disponíveis para responder. Outras alternativas incluem [IRC](https://webchat.freenode.net/?channels=%23numpy), [Gitter](https://gitter.im/numpy/numpy)e [Reddit](https://www.reddit.com/r/Numpy/). Gostaríamos de poder ficar de olho nestes sites, ou responder perguntas diretamente, mas o volume é imenso! - **Issues sobre desenvolvimento:** Para assuntos relacionados ao desenvolvimento do NumPy (por exemplo, relatórios de bugs), veja a [Comunidade](/community). - +**Perguntas de usuários:** A melhor maneira de obter ajuda é postar sua pergunta em um site como [StackOverflow](http://stackoverflow.com/questions/tagged/numpy), com milhares de usuários disponíveis para responder. Gostaríamos de poder ficar de olho nestes sites, ou responder perguntas diretamente, mas o volume é imenso! ### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) @@ -20,15 +18,3 @@ Um fórum para fazer perguntas sobre a utilização da biblioteca, por exemplo: Outro fórum para perguntas de utilização. *** - -### [Gitter](https://gitter.im/numpy/numpy) - -Uma sala de bate-papo em tempo real onde usuários e membros da comunidade se ajudam uns aos outros. - -*** - -### [IRC](https://webchat.freenode.net/?channels=%23numpy) - -Outra sala de bate-papo em tempo real onde usuários e membros da comunidade se ajudam uns aos outros. - -*** diff --git a/content/pt/news.md b/content/pt/news.md index e972a74130..fb62c35783 100644 --- a/content/pt/news.md +++ b/content/pt/news.md @@ -7,9 +7,45 @@ date: 2023-09-16 ### Lançado o NumPy versão 1.26.0 -_16 de setembro de 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) está disponível. Os destaques desta versão são: +_18 de agosto, 2024_ -- NumPy 2.1.0 fornece suporte para Python 3.13 e remove suporte para Python 3.9. Além das habituais correções de erros e suporte a Python atualizado, esta versão ajuda a trazer o NumPy de volta ao ciclo habitual de lançamento após o longo desenvolvimento da versão 2.0. Os destaques desta versão são: + +- Suporte ao Python 3.12.0. +- Suporte preliminar para Python 3.13 free threaded. +- Suporte para array-api 2023.12 standard. + +As versões 3.10-3.13 do Python são suportadas por esta versão. + + +### NumPy 2.0.0 lançada + +_16 de junho, 2024_ -- NumPy 2.0.0 é a primeira grande versão desde 2006. É o resultado de 11 meses de desenvolvimento desde a última feature release e é o trabalho de 212 contribuidores espalhado por 1078 pull requests. Esta versão contém um grande número de novas funcionalidades interessantes, bem como mudanças nas APIs Python e C. As mudanças incluem quebras de compatibilidade que não puderam acontecer em uma versão regular menor - incluindo uma quebra na ABI, mudanças nas regras de promoção de tipo e mudanças na API que poderiam não estar emitindo alertas de fim de suporte nas versões 1.26.x. Documentos-chave, relacionados a como se adaptar às mudanças em NumPy 2.0, incluem: + +- O [guia de migração NumPy 2.0](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- As [notas de lançamento da versão 2.0.0](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Issue de anúncio para atualizações de estado: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +A postagem de blog ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) conta um pouco da história sobre como esta versão foi construída. + + +### Data de lançamento da NumPy 2.0: 16 de junho + +_23 de maio, 2024_ -- Estamos animados em anunciar que planejamos lançar a NumPy 2.0 em 16 de junho de 2024. Este lançamento está em desenvolvimento há mais de um ano, e é o primeiro grande lançamento desde 2006. Importante, além de muitas funcionalidades novas e melhoria de desempenho, esta versão contém **quebras de compatibilidade** com a ABI e com as APIs Python e C. É provável que os pacotes downstream e o código de usuário final precisem ser adaptados - se você puder, por favor, verifique se o seu código funciona com NumPy `2.0.0rc2`. **Por favor, veja o seguinte para mais detalhes:** + +- O [guia de migração NumPy 2.0](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- As [notas de lançamento da versão 2.0.0](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Issue de anúncio para atualizações de estado: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### Lançado o NumPy versão 1.26.0 +_19 de dez, 2023_ -- O NumFOCUS se juntou ao PyCharm durante sua campanha de final de ano para oferecer 30% de desconto em licenças de PyCharm para novos usuários. Todas as receitas do primeiro ano das compras do PyCharm a partir de agora até 23 de dezembro, 2023 irão diretamente para os programas NumFOCUS. + +Use a URL única que permitirá rastrear as compras https://lp.jetbrains.com/support-data-science/ ou um código de cupom ISUPPORTDATASCIENCE  + +### NumPy versão 1.24.0 + +_17 de junho, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) está disponível agora. Os destaques desta versão são: -* Suporte ao Python 3.12.0. +* Suport ao Python 3.12.0. * Compatibilidade com Cython 3.0.0. * Utilização do sistema Meson para compilação * Suport a SIMD atualizado @@ -33,7 +69,7 @@ _Português:_ * Alexandre B A Villares (villares) * Vini Salazar (vinisalazar) -Japonês: +_Japonês:_ * Atsushi Sakai (AtsushiSakai) * KKunai * Tom Kelly (TomKellyGenetics) @@ -42,11 +78,11 @@ Japonês: O trabalho na infraestrutura de traduções é financiado pela CZI. -No futuro, adoraríamos traduzir o site para mais línguas. Se você quiser ajudar, por favor entre em contato com o time de traduções do NumPy no Slack: -https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Procure pelo canal #translations) -Também estamos organizando um time de tradutores que serão responsáveis por trabalhar na localização da documentação e conteúdo educacional para o ecossistema Scientific Python. Se esse trabalho te interessa, junte-se a nós no Discord do projeto Scientific Python: https://discord.gg/khWtqY6RKr. (Procure pelo canal #translation) +No futuro, adoraríamos traduzir o site para mais línguas. Se você quiser ajudar, por favor entre em contato com o time de traduções do NumPy no Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Procure pelo canal de #translations.) (Procure pelo canal #translations) Também estamos organizando um time de tradutores que serão responsáveis por trabalhar na localização da documentação e conteúdo educacional para o ecossistema Scientific Python. Se esse trabalho te interessa, junte-se a nós no Discord do projeto Scientific Python: https://discord.gg/khWtqY6RKr. (Procure pelo canal #translation) -_17 de junho, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) está disponível agora. Os destaques desta versão são: +### NumPy versão 1.22.0 + +_18 de dezembro de 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) está agora disponível. Os destaques desta versão são: * Suporte para MUSL, agora existem rodas MUSL. * Suporte para o compilador Fujitsu C/C++. @@ -69,9 +105,9 @@ Como podemos ser melhores quando se trata de diversidade e de inclusão? Leia o _6 de janeiro de 2023_ –- Mukulika Pahari e Ross Barnowski são nomeados como lideres do time de documentação do NumPy, substituindo Melissa Mendonça. Agradecemos a Melissa por todas suas contribuições para a documentação oficial do NumPy e materiais educacionais, e Mukulika e Ross por aceitarem o desafio. -### NumPy versão 1.24.0 +### NumPy versão 1.23.0 -_18 de dezembro de 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) está agora disponível. Os destaques desta versão são: +_31 de dezembro de 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) está agora disponível. Os destaques desta versão são: * Novas palavras-chave "dtype" e "casting" para funções que atuam com stacking. * Novas funcionalidades e correções do F2PY. @@ -80,7 +116,7 @@ _18 de dezembro de 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/ A versão 1.24.0 do NumPy continua o trabalho de melhorias no suporte e promoção de dtypes, na velocidade e execução, e na documentação. Há um grande número de depreciações novas e expiradas devido a mudanças na promoção de dtypes e limpezas no código. É o trabalho de 177 contribuidores espalhados em 444 pull requests. As versões suportadas do Python são 3.8-3.11. -### NumPy versão 1.23.0 +### NumPy versão 1.19.0 _22 de junho de 2022_ -- O [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) está disponível. Os destaques desta versão são: @@ -99,9 +135,9 @@ _13 de abril de 2022_ -- O NumPy está trabalhando com a [NumFOCUS](http://numfo Por favor, preencha este breve formulário: ["Participant Interest form"](https://numfocus.typeform.com/to/WBWVJSqe) que contém informações adicionais sobre os objetivos da pesquisa, privacidade e considerações de confidencialidade. Sua participação será valiosa para o crescimento e sustentabilidade de comunidades de software open source diversas e inclusivas. Os participantes aceitos participarão de uma entrevista de 30 minutos com um membro da equipe de pesquisa. -### NumPy versão 1.22.0 +### NumPy versão 1.20.0 -_31 de dezembro de 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) está agora disponível. Os destaques desta versão são: +_23 de junho de 2021_ -- O [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) está disponível. Os destaques desta versão são: * Anotações de tipo do namespace principal estão praticamente completas. Ainda há trabalho a se fazer no upstream, mas a maior parte do trabalho está feita. Esta é provavelmente a melhoria mais visível para os usuários nesta versão. * Uma versão preliminar da proposta do [array API Standard](https://data-apis.org/array-api/latest/) está disponível (veja [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). Este é um passo na criação de uma coleção padrão de funções que podem ser compartilhadas entre bibliotecas como CuPy e JAX. @@ -133,7 +169,7 @@ Siga o link para começar: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBX ### NumPy versão 1.19.0 -_23 de junho de 2021_ -- O [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) está disponível. Os destaques desta versão são: +_16 de setembro de 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) está disponível. Os destaques desta versão são: - a continuação do trabalho com SIMD para suportar mais funções e plataformas, - trabalho inicial na infraestrutura e conversão de novos dtypes, @@ -173,7 +209,7 @@ _14 de setembro de 2020_ -- Python 3.9 será lançado em algumas semanas. Se voc - usar [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) ou `--only-binary=:all:` para impedir `pip` de tentar compilar a partir do código fonte. -### NumPy versão 1.19.2 +### NumPy versão 1.18.0 _10 de setembro de 2020_ -- O [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) está disponível. Essa última versão da série 1.19 corrige vários bugs, inclui preparações para o lançamento [do Cython 3](http://docs.cython.org/en/latest/src/changes.html) e fixa o setuptools para que o distutils continue funcionando enquanto modificações upstream estão sendo feitas. As wheels para aarch64 são compiladas com manylinux2014 mais recente que conserta um problema com distribuições linux diferentes. @@ -203,7 +239,7 @@ _20 de junho de 2020_ -- O NumPy 1.19.0 está disponível. Esta é a primeira ve _11 de maio de 2020_ -- O NumPy foi aceito como uma das organizações mentoras do programa Google Season of Docs. Estamos animados com a oportunidade de trabalhar com um *technical writer* para melhorar a documentação do NumPy mais uma vez! Para mais detalhes, consulte [o site oficial do programa Season of Docs](https://developers.google.com/season-of-docs/) e nossa [página de ideias](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). -### NumPy versão 1.18.0 +### NumPy versão 1.19.2 _22 de dezembro de 2019_ -- O NumPy 1.18.0 está disponível. Após as principais mudanças em 1.17.0, esta é uma versão de consolidação. É a última versão menor que suportará Python 3.5. Destaques dessa versão incluem a adição de uma infraestrutura básica para permitir o link com as bibliotecas BLAS e LAPACK em 64 bits durante a compilação, e uma nova C-API para `numpy.random`. @@ -225,6 +261,14 @@ Mais detalhes sobre nossas propostas e resultados esperados podem ser encontrado Aqui está uma lista de versões do NumPy, com links para notas de lançamento. Bugfix lança (apenas o `z` muda no `x.y.` número da versão) não tem novos recursos; versões menores (o `y` aumenta) sim. +- NumPy 2.1.2 ([notas de lançamento](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 de outubro de 2024_. +- NumPy 2.1.1 ([notas de versão](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 de setembro de 2024_. +- NumPy 2.0.2 ([notas de versão](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 de agosto de 2024_. +- NumPy 2.1.0 ([notas de lançamento](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 de agosto de 2024_. +- NumPy 2.0.1 ([notas de lançamento](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 de julho de 2024_. +- NumPy 2.0.0 ([notas de lançamento](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 de junho de 2024_. +- NumPy 1.26.4 ([notas de lançamento](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 de fevereiro de 2024_. +- NumPy 1.26.3 ([notas de lançamento](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 de janeiro de 2024_. - NumPy 1.26.2 ([notas de versão](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 de novembro de 2023_. - NumPy 1.26.1 ([notas de versão](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 de outubro de 2023_. - NumPy 1.26.0 ([notas de versão](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 de setembro de 2023_. diff --git a/content/pt/tabcontents.yaml b/content/pt/tabcontents.yaml index a2d2b0df44..b209f4a79f 100644 --- a/content/pt/tabcontents.yaml +++ b/content/pt/tabcontents.yaml @@ -86,76 +86,230 @@ params: img: /images/content_images/arlib/uarray.png alttext: uarray url: https://uarray.org/en/latest/ - - - title: tensorly - text: Ferramentas para aprendizagem com tensores, algebra e backends para usar NumPy, MXNet, PyTorch, TensorFlow ou CuPy sem esforço. - img: /images/content_images/arlib/tensorly.png - alttext: tensorly - url: http://tensorly.org/stable/home.html scientificdomains: intro: - text: Quase todos os cientistas que trabalham em Python se baseiam na potência do NumPy. - text: "NumPy traz o poder computacional de linguagens como C e Fortran para Python, uma linguagem muito mais fácil de aprender e usar. Com esse poder vem a simplicidade: uma solução no NumPy é frequentemente clara e elegante." - librariesrow1: + libraries: - title: Computação quântica alttext: Um chip de computador. img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane - title: Computação estatística alttext: Um gráfico com uma linha em movimento para cima. img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://github.com/statsmodels/statsmodels + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://github.com/mwaskom/seaborn + label: Seaborn - title: Processamento de sinais alttext: Um gráfico de barras com valores positivos e negativos. img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy - title: Processamento de imagens alttext: Uma fotografia das montanhas. img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas - title: Gráficos e Redes alttext: Um grafo simples. img: /images/content_images/sc_dom_img/sd6.svg - - - title: Processos de Astronomia + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy alttext: Um telescópio. img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://github.com/sunpy/sunpy + label: SunPy + - + url: https://github.com/spacepy/spacepy + label: SpacePy - title: Psicologia Cognitiva alttext: Uma cabeça humana com engrenagens. img: /images/content_images/sc_dom_img/cognitive_psychology.svg - librariesrow2: + links: + - + url: https://www.psychopy.org/ + label: PsychoPy - title: Bioinformática - alttext: Um pedaço de DNA. + alttext: Uma fita de DNA. img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE - title: Inferência Bayesiana alttext: Um gráfico com uma curva em forma de sino. img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee - title: Análise Matemática alttext: Quatro símbolos matemáticos. img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://github.com/cvxgrp/cvxpy + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS - title: Química alttext: Um tubo de ensaio. img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM - title: Geociências alttext: A Terra. img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra - title: Processamento Geográfico alttext: Um mapa. img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium - title: Arquitetura e Engenharia alttext: Uma placa de desenvolvimento de microprocessador. img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok datascience: intro: "NumPy está no centro de um rico ecossistema de bibliotecas de ciência de dados. Um fluxo de trabalho típico de ciência de dados exploratório pode parecer assim:" image1: diff --git a/content/pt/teams/index.md b/content/pt/teams/index.md index b84f16aaf2..139587e418 100644 --- a/content/pt/teams/index.md +++ b/content/pt/teams/index.md @@ -3,7 +3,8 @@ title: Times NumPy sidebar: false --- -Somos uma equipe internacional com a missão de apoiar comunidades científicas e de pesquisa em todo o mundo construindo software de código aberto de qualidade. [Junte-se a nós](/contribute)! +Somos uma equipe internacional com a missão de apoiar comunidades científicas e de pesquisa em todo o mundo construindo software de código aberto de qualidade. +[Junte-se a nós](/contribute)! ### Maintainers diff --git a/content/pt/user-survey-2020.md b/content/pt/user-survey-2020.md index 8747efca88..b0568d78ef 100644 --- a/content/pt/user-survey-2020.md +++ b/content/pt/user-survey-2020.md @@ -5,10 +5,8 @@ sidebar: false Em 2020, o time de pesquisas do NumPy realizou a primeira pesquisa oficial sobre a comunidade NumPy, em parceria com alunos e docentes de um Mestrado em metodologia de pesquisa realizado conjuntamente pela Universidade de Michigan e pela Universidade da Maryland. Mais de 1200 usuários de 75 países participaram para nos ajudar a mapear uma paisagem da comunidade NumPy e expressaram seus pensamentos sobre o futuro do projeto. -{{< figure >}} -src = '/surveys/NumPy_usersurvey_2020_report_cover.png' -alt = 'Página de capa do relatório da pesquisa de usuários do NumPy 2020, chamado "NumPy Community Survey 2020 - results"' -width = '250' +{{< figure src="/surveys/NumPy_usersurvey_2020_report_cover.png" class="fig-left" alt="Página de capa do relatório da pesquisa de usuários do NumPy 2020, chamado 'NumPy Community Survey 2020 - results'" width="250">}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Página de capa do relatório da pesquisa de usuários do NumPy 2020, chamado "NumPy Community Survey 2020 - results"' width = '250' {{< /figure >}} **[Faça o download do relatório](/surveys/NumPy_usersurvey_2020_report.pdf)** para ver os detalhes sobre os resultados encontrados. diff --git a/content/ru/404.md b/content/ru/404.md new file mode 100644 index 0000000000..532c779263 --- /dev/null +++ b/content/ru/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +Упс! Вы попали в тупик. + +Если вы считаете, что здесь что-то должно быть, вы можете [сообщить о проблеме](https://github.com/numpy/numpy.org/issues) на GitHub. diff --git a/content/ru/_index.md b/content/ru/_index.md new file mode 100644 index 0000000000..be88f9e642 --- /dev/null +++ b/content/ru/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Powerful N-dimensional arrays' +body = ''' +Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. +''' + +[[item]] +type = 'card' +title = 'Numerical computing tools' +body = ''' +NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. +''' + +[[item]] +type = 'card' +title = 'Open source' +body = ''' +Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. +''' + +[[item]] +type = 'card' +title = 'Performant' +body = ''' +The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. +''' + +[[item]] +type = 'card' +title = 'Easy to use' +body = ''' +NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. +''' + +{{< /grid>}} diff --git a/content/ru/about.md b/content/ru/about.md new file mode 100644 index 0000000000..6738e56e08 --- /dev/null +++ b/content/ru/about.md @@ -0,0 +1,90 @@ +--- +title: About Us +sidebar: false +--- + +NumPy is an open source project that enables numerical computing with Python. It was created in 2005 building on the early work of the Numeric and Numarray libraries. NumPy will always be 100% open source software and free for all to use. It is released under the liberal terms of the [modified BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +NumPy открыто разрабатывается на GitHub, на основе консенсуса сообщества NumPy и более широкого научного сообщества Python. Дополнительную информацию о нашем подходе к управлению см. в нашем [Документе Управления](https://www.numpy.org/devdocs/dev/governance/index.html). + + +## Руководящий Совет + +The NumPy Steering Council is the project's governing body. Its role is to ensure, through working with and serving the broader NumPy community, the long-term sustainability of the project, both as a software package and community. The NumPy Steering Council currently consists of the following members (in alphabetical order, by last name): + +- Себастьян Берг +- Ральф Гоммерс +- Чарльз Харрис +- Стефан Хойер +- Инесса Поусон +- Матти Пикус +- Стефан ван дер Волт +- Melissa Weber Mendonça +- Эрик Визер + +Почётные члены: + +- Алекс Гриффинг (2015-2017) +- Аллан Халдейн (2015-2021) +- Мартен ван Керквик (2017-2019) +- Трэвис Олифант (основатель проекта, 2005-2012) +- Натаниэль Смит (2012-2021) +- Джулиан Тейлор (2013-2021) +- Джейми Фернандез дель Рио (2014-2021) +- Паули Виртанен (2008-2021) + +To contact the NumPy Steering Council, please email numpy-team@googlegroups.com. + +## Команды + +The NumPy project leadership is actively working on diversifying contribution pathways to the project.
NumPy currently has the following teams: + +- development +- documentation +- triage +- website +- survey +- translations +- sprint mentors +- optimization +- funding and grants + +See the [Team](/teams) page for more info. + +## Подкомитет NumFOCUS + +- Чарльз Харрис +- Ральф Гоммерс +- Инесса Поусон +- Себастьян Берг +- Внешний член: Томас Касвелл + +## Спонсоры + +NumPy получает прямое финансирование из следующих источников: +{{< спонсоры >}} + + +## Институциональные партнёры + +Институциональные партнеры – это организации, оказывающие поддержку проекту, нанимая на работу людей, которые вносят свой вклад в развитие NumPy в рамках своей работы. На данный момент институциональными партнёрами являются: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< партнёры >}} + + +## Поддержать нас + +Если вы сочли NumPy полезным в своей работе, исследованиях или компании, пожалуйста, подумайте о пожертвовании проекту соразмерно вашим ресурсам. Любая сумма поможет! Все пожертвования будут использоваться строго для финансирования разработки открытого программного обеспечения, документации и сообщества NumPy. + +NumPy является спонсируемым проектом NumFOCUS, 501(c)(3) некоммерческой благотворительной организации в Соединенных Штатах. NumFOCUS provides NumPy with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Посетите [numfocus.org](https://numfocus.org) чтобы получить больше информации. + +Пожертвования NumPy управляются [NumFOCUS](https://numfocus.org). Для доноров в Соединенных Штатах ваш подарок не облагается налогом в соответствии с законом. Как и при любом пожертвовании, вы должны проконсультироваться с налоговым консультантом о лично вашей налоговой ситуации. + +Руководящий Совет NumPy примет решения о том, как наилучшим образом использовать полученные средства. Технические и инфраструктурные приоритеты можно найти в [Дорожной Карте NumPy](https://www.numpy.org/neps/index.html#roadmap). + +{{}} + diff --git a/content/ru/arraycomputing.md b/content/ru/arraycomputing.md new file mode 100644 index 0000000000..abd29d11c1 --- /dev/null +++ b/content/ru/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: Array Computing +sidebar: false +--- + +*Array computing is the foundation of statistical, mathematical, scientific computing in various contemporary data science and analytics applications such as data visualization, digital signal processing, image processing, bioinformatics, machine learning, AI, and several others.* + +Large scale data manipulation and transformation depends on efficient, high-performance array computing. The language of choice for data analytics, machine learning, and productive numerical computing is **Python.** + +**Num**erical **Py**thon or NumPy is its de-facto standard Python programming language library that supports large, multi-dimensional arrays and matrices, and comes with a vast collection of high-level mathematical functions to operate on these arrays. + +Since the launch of NumPy in 2006, Pandas appeared on the landscape in 2008, and it was not until a couple of years ago that several array computing libraries showed up in succession, crowding the array computing landscape. Many of these newer libraries mimic NumPy-like features and capabilities, and pack newer algorithms and features geared towards machine learning and artificial intelligence applications. + +arraycl + +**Array computing** is based on **arrays** data structures. *Arrays* are used to organize vast amounts of data such that a related set of values can be easily sorted, searched, mathematically manipulated, and transformed easily and quickly. + +Array computing is *unique* as it involves operating on the data array *at once*. What this means is that any array operation applies to an entire set of values in one shot. This vectorized approach provides speed and simplicity by enabling programmers to code and operate on aggregates of data, without having to use loops of individual scalar operations. diff --git a/content/ru/case-studies/blackhole-image.md b/content/ru/case-studies/blackhole-image.md new file mode 100644 index 0000000000..22334ebed0 --- /dev/null +++ b/content/ru/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "Case Study: First Image of a Black Hole" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## A telescope the size of the earth + +The [Event Horizon telescope (EHT)](https://eventhorizontelescope.org) is an array of eight ground-based radio telescopes forming a computational telescope the size of the earth, studing the universe with unprecedented sensitivity and resolution. The huge virtual telescope, which uses a technique called very-long-baseline interferometry (VLBI), has an angular resolution of [20 micro-arcseconds][resolution] — enough to read a newspaper in New York from a sidewalk café in Paris! + +### Key Goals and Results + +* **A New View of the Universe:** The groundwork for the EHT's groundbreaking image had been laid 100 years earlier when [Sir Arthur Eddington][eddington] yielded the first observational support of Einstein's theory of general relativity. + +* **The Black Hole:** EHT was trained on a supermassive black hole approximately 55 million light-years from Earth, lying at the center of the galaxy Messier 87 (M87) in the Virgo galaxy cluster. Its mass is 6.5 billion times the Sun's. It had been studied for [over 100 years](https://www.jpl.nasa.gov/news/news.php?feature=7385), but never before had a black hole been visually observed. + +* **Comparing Observations to Theory:** From Einstein’s general theory of relativity, scientists expected to find a shadow-like region caused by gravitational bending and capture of light. Scientists could use it to measure the black hole's enormous mass. + +### The Challenges + +* **Computational scale** + + EHT poses massive data-processing challenges, including rapid atmospheric phase fluctuations, large recording bandwidth, and telescopes that are widely dissimilar and geographically dispersed. + +* **Too much information** + + Each day EHT generates over 350 terabytes of observations, stored on helium-filled hard drives. Reducing the volume and complexity of this much data is enormously difficult. + +* **Into the unknown** + + When the goal is to see something never before seen, how can scientists be confident the image is correct? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT Data Processing Pipeline' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## NumPy’s Role + +What if there's a problem with the data? Or perhaps an algorithm relies too heavily on a particular assumption. Will the image change drastically if a single parameter is changed? + +The EHT collaboration met these challenges by having independent teams evaluate the data, using both established and cutting-edge image reconstruction techniques. When results proved consistent, they were combined to yield the first-of-a-kind image of the black hole. + +Their work illustrates the role the scientific Python ecosystem plays in advancing science through collaborative data analysis. + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'The role of NumPy in Black Hole imaging' +{{< /figure >}} + +For example, the [`eht-imaging`][ehtim] Python package provides tools for simulating and performing image reconstruction on VLBI data. NumPy is at the core of array data processing used in this package, as illustrated by the partial software dependency chart below. + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Software dependency chart of ehtim package highlighting NumPy' +{{< /figure >}} + +Besides NumPy, many other packages, such as [SciPy](https://www.scipy.org) and [Pandas](https://pandas.io), are part of the data processing pipeline for imaging the black hole. The standard astronomical file formats and time/coordinate transformations were handled by [Astropy][astropy], while [Matplotlib][mpl] was used in visualizing data throughout the analysis pipeline, including the generation of the final image of the black hole. + +## Summary + +The efficient and adaptable n-dimensional array that is NumPy's central feature enabled researchers to manipulate large numerical datasets, providing a foundation for the first-ever image of a black hole. A landmark moment in science, it gives stunning visual evidence of Einstein’s theory. The achievement encompasses not only technological breakthroughs but also international collaboration among over 200 scientists and some of the world's best radio observatories. Innovative algorithms and data processing techniques, improving upon existing astronomical models, helped unfold a mystery of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/ru/case-studies/cricket-analytics.md b/content/ru/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..d0be271f50 --- /dev/null +++ b/content/ru/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "Case Study: Cricket Analytics, the game changer!" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, the biggest Cricket Festival in India' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## About Cricket + +It would be an understatement to state that Indians love cricket. The game is played in just about every nook and cranny of India, rural or urban, popular with the young and the old alike, connecting billions in India unlike any other sport. Cricket enjoys lots of media attention. There is a significant amount of [money](https://www.statista.com/topics/4543/indian-premier-league-ipl/) and fame at stake. Over the last several years, technology has literally been a game changer. Audiences are spoilt for choice with streaming media, tournaments, affordable access to mobile based live cricket watching, and more. + +The Indian Premier League (IPL) is a professional Twenty20 cricket league, founded in 2008. It is one of the most attended cricketing events in the world, valued at [$6.7 billion](https://en.wikipedia.org/wiki/Indian_Premier_League) in 2019. + +Cricket is a game of numbers - the runs scored by a batsman, the wickets taken by a bowler, the matches won by a cricket team, the number of times a batsman responds in a certain way to a kind of bowling attack, etc. The capability to dig into cricketing numbers for both improving performance and studying the business opportunities, overall market, and economics of cricket via powerful analytics tools, powered by numerical computing software such as NumPy, is a big deal. Cricket analytics provides interesting insights into the game and predictive intelligence regarding game outcomes. + +Today, there are rich and almost infinite troves of cricket game records and statistics available, e.g., [ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) and [cricsheet](https://cricsheet.org). These and several such cricket databases have been used for [cricket analysis](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances) using the latest machine learning and predictive modelling algorithms. Media and entertainment platforms along with professional sports bodies associated with the game use technology and analytics for determining key metrics for improving match winning chances: + +* batting performance moving average, +* score forecasting, +* gaining insights into fitness and performance of a player against different opposition, +* player contribution to wins and losses for making strategic decisions on team composition + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Cricket Pitch, the focal point in the field' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### Key Data Analytics Objectives + +* Sports data analytics are used not only in cricket but many [other sports](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) for improving the overall team performance and maximizing winning chances. +* Real-time data analytics can help in gaining insights even during the game for changing tactics by the team and by associated businesses for economic benefits and growth. +* Besides historical analysis, predictive models are harnessed to determine the possible match outcomes that require significant number crunching and data science know-how, visualization tools and capability to include newer observations in the analysis. + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'Cricket Pose Estimator' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### The Challenges + +* **Data Cleaning and preprocessing** + + IPL has expanded cricket beyond the classic test match format to a much larger scale. The number of matches played every season across various formats has increased and so has the data, the algorithms, newer sports data analysis technologies and simulation models. Cricket data analysis requires field mapping, player tracking, ball tracking, player shot analysis, and several other aspects involved in how the ball is delivered, its angle, spin, velocity, and trajectory. All these factors together have increased the complexity of data cleaning and preprocessing. + +* **Dynamic Modeling** + + In cricket, just like any other sport, there can be a large number of variables related to tracking various numbers of players on the field, their attributes, the ball, and several possibilities of potential actions. The complexity of data analytics and modeling is directly proportional to the kind of predictive questions that are put forth during analysis and are highly dependent on data representation and the model. Things get even more challenging in terms of computation, data comparisons when dynamic cricket play predictions are sought such as what would have happened if the batsman had hit the ball at a different angle or velocity. + +* **Predictive Analytics Complexity** + + Much of the decision making in cricket is based on questions such as "how often does a batsman play a certain kind of shot if the ball delivery is of a particular type", or "how does a bowler change his line and length if the batsman responds to his delivery in a certain way". This kind of predictive analytics query requires highly granular dataset availability and the capability to synthesize data and create generative models that are highly accurate. + +## NumPy’s Role in Cricket Analytics + +Sports Analytics is a thriving field. Many researchers and companies [use NumPy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) and other PyData packages like Scikit-learn, SciPy, Matplotlib, and Jupyter, besides using the latest machine learning and AI techniques. NumPy has been used for various kinds of cricket related sporting analytics such as: + +* **Statistical Analysis:** NumPy's numerical capabilities help estimate the statistical significance of observational data or match events in the context of various player and game tactics, estimating the game outcome by comparison with a generative or static model. [Causal analysis](https://amplitude.com/blog/2017/01/19/causation-correlation) and [big data approaches](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) are used for tactical analysis. + +* **Data Visualization:** Data graphing and [visualization](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) provide useful insights into relationship between various datasets. + +## Summary + +Sports Analytics is a game changer when it comes to how professional games are played, especially how strategic decision making happens, which until recently was primarily done based on “gut feeling" or adherence to past traditions. NumPy forms a solid foundation for a large set of Python packages which provide higher level functions related to data analytics, machine learning, and AI algorithms. These packages are widely deployed to gain real-time insights that help in decision making for game-changing outcomes, both on field as well as to draw inferences and drive business around the game of cricket. Finding out the hidden parameters, patterns, and attributes that lead to the outcome of a cricket match helps the stakeholders to take notice of game insights that are otherwise hidden in numbers and statistics. + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagram showing benefits of using NumPy for cricket analytics' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/ru/case-studies/deeplabcut-dnn.md b/content/ru/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..257905de91 --- /dev/null +++ b/content/ru/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "Case Study: DeepLabCut 3D Pose Estimation" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analyzing mice hand-movement using DeepLapCut' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Open Source Software is accelerating Biomedicine. DeepLabCut enables automated video analysis of animal behavior using Deep Learning. +> +> {{< /blockquote >}} + +## About DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) is an open source toolbox that empowers researchers at hundreds of institutions worldwide to track behaviour of laboratory animals, with very little training data, at human-level accuracy. With DeepLabCut technology, scientists can delve deeper into the scientific understanding of motor control and behavior across animal species and timescales. + +Several areas of research, including neuroscience, medicine, and biomechanics, use data from tracking animal movement. DeepLabCut helps in understanding what humans and other animals are doing by parsing actions that have been recorded on film. Using automation for laborious tasks of tagging and monitoring, along with deep neural network based data analysis, DeepLabCut makes scientific studies involving observing animals, such as primates, mice, fish, flies etc., much faster and more accurate. + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Colored dots track the positions of a racehorse’s body part' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' +{{< /figure >}} + +DeepLabCut's non-invasive behavioral tracking of animals by extracting the poses of animals is crucial for scientific pursuits in domains such as biomechanics, genetics, ethology & neuroscience. Measuring animal poses non-invasively from video - without markers - in dynamically changing backgrounds is computationally challenging, both technically as well as in terms of resource needs and training data required. + +DeepLabCut allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior through a Python based software toolkit. With DeepLabCut, researchers can identify distinct frames from videos, digitally label specific body parts in a few dozen frames with a tailored GUI, and then the deep learning based pose estimation architectures in DeepLabCut learn how to pick out those same features in the rest of the video and in other similar videos of animals. It works across species of animals, from common laboratory animals such as flies and mice to more unusual animals like [cheetahs][cheetah-movement]. + +DeepLabCut uses a principle called [transfer learning](https://arxiv.org/pdf/1909.11229), which greatly reduces the amount of training data required and speeds up the convergence of the training period. Depending on the needs, users can pick different network architectures that provide faster inference (e.g. MobileNetV2), which can also be combined with real-time experimental feedback. DeepLabCut originally used the feature detectors from a top-performing human pose estimation architecture, called [DeeperCut](https://arxiv.org/abs/1605.03170), which inspired the name. The package now has been significantly changed to include additional architectures, augmentation methods, and a full front-end user experience. Furthermore, to support large-scale biological experiments DeepLabCut provides active learning capabilities so that users can increase the training set over time to cover edge cases and make their pose estimation algorithm robust within the specific context. + +Recently, the [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) was introduced, which provides pre-trained models for various species and experimental conditions from facial analysis in primates to dog posture. This can be run for instance in the cloud without any labeling of new data, or neural network training, and no programming experience is necessary. + +### Key Goals and Results + +* **Automation of animal pose analysis for scientific studies:** + + The primary objective of DeepLabCut technology is to measure and track posture of animals in a diverse settings. This data can be used, for example, in neuroscience studies to understand how the brain controls movement, or to elucidate how animals socially interact. Researchers have observed a [tenfold performance boost](https://www.biorxiv.org/content/10.1101/457242v1) with DeepLabCut. Poses can be inferred offline at up to 1200 frames per second (FPS). + +* **Creation of an easy-to-use Python toolkit for pose estimation:** + + DeepLabCut wanted to share their animal pose-estimation technology in the form of an easy to use tool that can be adopted by researchers easily. So they have created a complete, easy-to-use Python toolbox with project management features as well. These enable not only automation of pose-estimation but also managing the project end-to-end by helping the DeepLabCut Toolkit user right from the dataset collection stage to creating shareable and reusable analysis pipelines. + + Their [toolkit][DLCToolkit] is now available as open source. + + A typical DeepLabCut Workflow includes: + + - creation and refining of training sets via active learning + - creation of tailored neural networks for specific animals and scenarios + - code for large-scale inference on videos + - draw inferences using integrated visualization tools + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pose estimation steps with DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +{{< /figure >}} + +### The Challenges + +* **Speed** + + Fast processing of animal behavior videos in order to measure their behavior and at the same time make scientific experiments more efficient, accurate. Extracting detailed animal poses for laboratory experiments, without markers, in dynamically changing backgrounds, can be challenging, both technically as well as in terms of resource needs and training data required. Coming up with a tool that is easy to use without the need for skills such as computer vision expertise that enables scientists to do research in more real-world contexts, is a non-trivial problem to solve. + +* **Combinatorics** + + Combinatorics involves assembly and integration of movement of multiple limbs into individual animal behavior. Assembling keypoints and their connections into individual animal movements and linking them across time is a complex process that requires heavy-duty numerical analysis, especially in case of multi-animal movement tracking in experiment videos. + +* **Data Processing** + + Last but not the least, array manipulation - processing large stacks of arrays corresponding to various images, target tensors and keypoints is fairly challenging. + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Pose estimation variety and complexity' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## NumPy's Role in meeting Pose Estimation Challenges + +NumPy addresses DeepLabCut technology's core need of numerical computations at high speed for behavioural analytics. Besides NumPy, DeepLabCut employs various Python software that utilize NumPy at their core, such as [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [Tensorpack](https://github.com/tensorpack/tensorpack), [imgaug](https://github.com/aleju/imgaug), [scikit-learn](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) and [Tensorflow](https://www.tensorflow.org). + +The following features of NumPy played a key role in addressing the image processing, combinatorics requirements and need for fast computation in DeepLabCut pose estimation algorithms: + +* Vectorization +* Masked Array Operations +* Linear Algebra +* Random Sampling +* Reshaping of large arrays + +DeepLabCut utilizes NumPy’s array capabilities throughout the workflow offered by the toolkit. In particular, NumPy is used for sampling distinct frames for human annotation labeling, and for writing, editing and processing annotation data. Within TensorFlow the neural network is trained by DeepLabCut technology over thousands of iterations to predict the ground truth annotations from frames. For this purpose, target densities (scoremaps) are created to cast pose estimation as a image-to-image translation problem. To make the neural networks robust, data augmentation is employed, which requires the calculation of target scoremaps subject to various geometric and image processing steps. To make training fast, NumPy’s vectorization capabilities are leveraged. For inference, the most likely predictions from target scoremaps need to extracted and one needs to efficiently “link predictions to assemble individual animals”. + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut Workflow' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## Summary + +Observing and efficiently describing behavior is a core tenant of modern ethology, neuroscience, medicine, and technology. [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) allows researchers to estimate the pose of the subject, efficiently enabling them to quantify the behavior. With only a small set of training images, the DeepLabCut Python toolbox allows training a neural network to within human level labeling accuracy, thus expanding its application to not only behavior analysis in the laboratory, but to potentially also in sports, gait analysis, medicine and rehabilitation studies. Complex combinatorics, data processing challenges faced by DeepLabCut algorithms are addressed through the use of NumPy's array manipulation capabilities. + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[cheetah-movement]: https://www.technologynetworks.com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/ru/case-studies/gw-discov.md b/content/ru/case-studies/gw-discov.md new file mode 100644 index 0000000000..08f54b7547 --- /dev/null +++ b/content/ru/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "Case Study: Discovery of Gravitational Waves" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Gravitational Waves' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## About [Gravitational Waves](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) and [LIGO](https://www.ligo.caltech.edu) + +Gravitational waves are ripples in the fabric of space and time, generated by cataclysmic events in the universe such as collision and merging of two black holes or coalescing binary stars or supernovae. Observing GW can not only help in studying gravity but also in understanding some of the obscure phenomena in the distant universe and its impact. + +The [Laser Interferometer Gravitational-Wave Observatory (LIGO)](https://www.ligo.caltech.edu) was designed to open the field of gravitational-wave astrophysics through the direct detection of gravitational waves predicted by Einstein’s General Theory of Relativity. It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. Each of them has multi-kilometer-scale gravitational wave detectors that use laser interferometry. The LIGO Scientific Collaboration (LSC), is a group of more than 1000 scientists from universities around the United States and in 14 other countries supported by more than 90 universities and research institutes; approximately 250 students actively contributing to the collaboration. The new LIGO discovery is the first observation of gravitational waves themselves, made by measuring the tiny disturbances the waves make to space and time as they pass through the earth. It has opened up new astrophysical frontiers that explore the warped side of the universe—objects and phenomena that are made from warped spacetime. + + +### Key Objectives + +* Though its [mission](https://www.ligo.caltech.edu/page/what-is-ligo) is to detect gravitational waves from some of the most violent and energetic processes in the Universe, the data LIGO collects may have far-reaching effects on many areas of physics including gravitation, relativity, astrophysics, cosmology, particle physics, and nuclear physics. +* Crunch observed data via numerical relativity computations that involves complex maths in order to discern signal from noise, filter out relevant signal and statistically estimate significance of observed data +* Data visualization so that the binary / numerical results can be comprehended. + + + +### The Challenges + +* **Computation** + + Gravitational Waves are hard to detect as they produce a very small effect and have tiny interaction with matter. Processing and analyzing all of LIGO's data requires a vast computing infrastructure.After taking care of noise, which is billions of times of the signal, there is still very complex relativity equations and huge amounts of data which present a computational challenge: [O(10^7) CPU hrs needed for binary merger analyses](https://youtu.be/7mcHknWWzNI) spread on 6 dedicated LIGO clusters + +* **Data Deluge** + + As observational devices become more sensitive and reliable, the challenges posed by data deluge and finding a needle in a haystack rise multi-fold. LIGO generates terabytes of data every day! Making sense of this data requires an enormous effort for each and every detection. For example, the signals being collected by LIGO must be matched by supercomputers against hundreds of thousands of templates of possible gravitational-wave signatures. + +* **Visualization** + + Once the obstacles related to understanding Einstein’s equations well enough to solve them using supercomputers are taken care of, the next big challenge was making data comprehensible to the human brain. Simulation modeling as well as signal detection requires effective visualization techniques. Visualization also plays a role in lending more credibility to numerical relativity in the eyes of pure science aficionados, who did not give enough importance to numerical relativity until imaging and simulations made it easier to comprehend results for a larger audience. Speed of complex computations and rendering, re-rendering images and simulations using latest experimental inputs and insights can be a time consuming activity that challenges researchers in this domain. + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Estimated gravitational-wave strain amplitude from GW150914' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## NumPy’s Role in the Detection of Gravitational Waves + +Gravitational waves emitted from the merger cannot be computed using any technique except brute force numerical relativity using supercomputers. The amount of data LIGO collects is as incomprehensibly large as gravitational wave signals are small. + +NumPy, the standard numerical analysis package for Python, was utilized by the software used for various tasks performed during the GW detection project at LIGO. NumPy helped in solving complex maths and data manipulation at high speed. Here are some examples: + +* [Signal Processing](https://www.uv.es/virgogroup/Denoising_ROF.html): Glitch detection, [Noise identification and Data Characterization](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplotlib, pandas, pyCharm) +* Data retrieval: Deciding which data can be analyzed, figuring out whether it contains a signal - needle in a haystack +* Statistical analysis: estimate the statistical significance of observational data, estimating the signal parameters (e.g. masses of stars, spin velocity, and distance) by comparison with a model. +* Visualization of data + - Time series + - Spectrograms +* Compute Correlations +* Key [Software](https://github.com/lscsoft) developed in GW data analysis such as [GwPy](https://gwpy.github.io/docs/stable/overview.html) and [PyCBC](https://pycbc.org) uses NumPy and AstroPy under the hood for providing object based interfaces to utilities, tools, and methods for studying data from gravitational-wave detectors. + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Dependency graph showing how GwPy package depends on NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Dependency graph showing how PyCBC package depends on NumPy' +{{< /figure >}} + +## Summary + +GW detection has enabled researchers to discover entirely unexpected phenomena while providing new insight into many of the most profound astrophysical phenomena known. Number crunching and data visualization is a crucial step that helps scientists gain insights into data gathered from the scientific observations and understand the results. The computations are complex and cannot be comprehended by humans unless it is visualized using computer simulations that are fed with the real observed data and analysis. NumPy along with other Python packages such as matplotlib, pandas, and scikit-learn is [enabling researchers](https://www.gw-openscience.org/events/GW150914/) to answer complex questions and discover new horizons in our understanding of the universe. + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/ru/citing-numpy.md b/content/ru/citing-numpy.md new file mode 100644 index 0000000000..5bb5d791b4 --- /dev/null +++ b/content/ru/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: Citing NumPy +sidebar: false +--- + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing the following paper: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_In BibTeX format:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/ru/code-of-conduct.md b/content/ru/code-of-conduct.md new file mode 100644 index 0000000000..5ee1f4bcbe --- /dev/null +++ b/content/ru/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy Code of Conduct +sidebar: false +aliases: + - /conduct.html +--- + +### Introduction + +This Code of Conduct applies to all spaces managed by the NumPy project, including all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our community. The NumPy project does not organise in-person events, however events related to our community should have a code of conduct similar in spirit to this one. + +This Code of Conduct should be honored by everyone who participates in the NumPy community formally or informally, or claims any affiliation with the project, in any project-related activities and especially when representing the project, in any role. + +This code is not exhaustive or complete. It serves to distill our common understanding of a collaborative, shared environment and goals. Please try to follow this code in spirit as much as in letter, to create a friendly and productive environment that enriches the surrounding community. + +### Specific Guidelines + +We strive to: + +1. Be open. We invite anyone to participate in our community. We prefer to use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also ensures that any inadvertent mistakes in answering are more easily detected and corrected. +2. Be empathetic, welcoming, friendly, and patient. We work together to resolve conflict, and assume good intentions. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. +3. Be collaborative. Our work will be used by other people, and in turn we will depend on the work of others. When we make something for the benefit of the project, we are willing to explain to others how it works, so that they can build on the work to make it even better. Any decision we make will affect users and colleagues, and we take those consequences seriously when making decisions. +4. Be inquisitive. Nobody knows everything! Asking questions early avoids many problems later, so we encourage questions, although we may direct them to the appropriate forum. We will try hard to be responsive and helpful. +5. Be careful in the words that we choose. We are careful and respectful in our communication, and we take responsibility for our own speech. Be kind to others. Do not insult or put down other participants. We will not accept harassment or other exclusionary behaviour, such as: + * Violent threats or language directed against another person. + * Sexist, racist, or otherwise discriminatory jokes and language. + * Posting sexually explicit or violent material. + * Posting (or threatening to post) other people’s personally identifying information (“doxing”). + * Sharing private content, such as emails sent privately or non-publicly, or unlogged forums such as IRC channel history, without the sender’s consent. + * Personal insults, especially those using racist or sexist terms. + * Unwelcome sexual attention. + * Excessive profanity. Please avoid swearwords; people differ greatly in their sensitivity to swearing. + * Repeated harassment of others. In general, if someone asks you to stop, then stop. + * Advocating for, or encouraging, any of the above behaviour. + +### Diversity Statement + +The NumPy project welcomes and encourages participation by everyone. We are committed to being a community that everyone enjoys being part of. Although we may not always be able to accommodate each individual’s preferences, we try our best to treat everyone kindly. + +No matter how you identify yourself or how others perceive you: we welcome you. Though no list can hope to be comprehensive, we explicitly honour diversity in: age, culture, ethnicity, genotype, gender identity or expression, language, national origin, neurotype, phenotype, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, subculture and technical ability, to the extent that these do not conflict with this code of conduct. + +Though we welcome people fluent in all languages, NumPy development is conducted in English. + +Standards for behaviour in the NumPy community are detailed in the Code of Conduct above. Participants in our community should uphold these standards in all their interactions and help others to do so as well (see next section). + +### Reporting Guidelines + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We also recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this Code of Conduct. Please keep this in mind when deciding on how to respond to a breach of this Code. + +For clearly intentional breaches, report those to the Code of Conduct Committee (see below). For possibly unintentional breaches, you may reply to the person and point out this code of conduct (either in public or in private, whatever is most appropriate). If you would prefer not to do that, please feel free to report to the Code of Conduct Committee directly, or ask the Committee for advice, in confidence. + +You can report issues to the NumPy Code of Conduct Committee at numpy-conduct@googlegroups.com. + +Currently, the Committee consists of: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +If your report involves any members of the Committee, or if they feel they have a conflict of interest in handling it, then they will recuse themselves from considering your report. Alternatively, if for any reason you feel uncomfortable making a report to the Committee, then you can also contact senior NumFOCUS staff at [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible). + +### Incident reporting resolution & Code of Conduct enforcement + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](report-handling-manual). + +We will investigate and respond to all complaints. The NumPy Code of Conduct Committee and the NumPy Steering Committee (if involved) will protect the identity of the reporter, and treat the content of complaints as confidential (unless the reporter agrees otherwise). + +In case of severe and obvious breaches, e.g. personal threat or violent, sexist or racist language, we will immediately disconnect the originator from NumPy communication channels; please see the manual for details. + +In cases not involving clear severe and obvious breaches of this Code of Conduct the process for acting on any received Code of Conduct violation report will be: + +1. acknowledge report is received, +2. reasonable discussion/feedback, +3. mediation (if feedback didn’t help, and only if both reporter and reportee agree to this), +4. enforcement via transparent decision (see [Resolutions](report-handling-manual/#resolutions)) by the Code of Conduct Committee. + +The Committee will respond to any report as soon as possible, and at most within 72 hours. + +### Endnotes + +We are thankful to the groups behind the following documents, from which we drew content and inspiration: + +- [The SciPy Code of Conduct](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/ru/community.md b/content/ru/community.md new file mode 100644 index 0000000000..5034fba239 --- /dev/null +++ b/content/ru/community.md @@ -0,0 +1,66 @@ +--- +title: Community +sidebar: false +--- + +NumPy is a community-driven open source project developed by a diverse group of [contributors](/teams/). The NumPy leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read the [NumPy Code of Conduct](/code-of-conduct) for guidance on how to interact with others in a way that makes the community thrive. + +We offer several communication channels to learn, share your knowledge and connect with others within the NumPy community. + + +## Participate online + +The following are ways to engage directly with the NumPy project and community. _Please note that we encourage users and community members to support each other for usage questions - see [Get Help](/gethelp)._ + + +### [NumPy mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) + +This list is the main forum for longer-form discussions, like adding new features to NumPy, making changes to the NumPy Roadmap, and all kinds of project-wide decision making. Announcements about NumPy, such as for releases, developer meetings, sprints or conference talks are also made on this list. + +On this list please use bottom posting, reply to the list (rather than to another sender), and don't reply to digests. A searchable archive of this list is available [here](https://mail.python.org/archives/list/numpy-discussion@python.org/). + +*** + +### [GitHub issue tracker](https://github.com/numpy/numpy/issues) + +- For bug reports (e.g. "`np.arange(3).shape` returns `(5,)`, when it should return `(3,)`"); +- documentation issues (e.g. "I found this section unclear"); +- and feature requests (e.g. "I would like to have a new interpolation method in `np.percentile`"). + +_Please note that GitHub is not the right place to report a security vulnerability. If you think you have found a security vulnerability in NumPy, please report it [here](https://tidelift.com/docs/security)._ + +*** + +### [Slack](https://numpy-team.slack.com) + +A real-time chat room to ask questions about _contributing_ to NumPy. This is a private space, specifically meant for people who are hesitant to bring up their questions or ideas on a large public mailing list or GitHub. Please see [here](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) for more details and how to get an invite. + + +## Study Groups and Meetups + +If you would like to find a local meetup or study group to learn more about NumPy and the wider ecosystem of Python packages for data science and scientific computing, we recommend exploring the [PyData meetups](https://www.meetup.com/pro/pydata/) (150+ meetups, 100,000+ members). + +NumPy also organizes in-person sprints for its team and interested contributors occasionally. These are typically planned several months in advance and will be announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) and [Twitter](https://twitter.com/numpy_team). + + +## Conferences + +The NumPy project doesn't organize its own conferences. The conferences that have traditionally been most popular with NumPy maintainers, contributors and users are the SciPy and PyData conference series: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (15-20 events a year spread over many countries) + +Many of these conferences include tutorial days that cover NumPy and/or sprints where you can learn how to contribute to NumPy or related open source projects. + + +## Join the NumPy community + +To thrive, the NumPy project needs your expertise and enthusiasm. Not a coder? Not a problem! There are many ways to contribute to NumPy. + +If you are interested in becoming a NumPy contributor (yay!) we recommend checking out our [Contribute](/contribute) page. + +Also, feel free to stop by and say hi at one of our community meetings. To keep track of them, check out our events calendar [here](https://scientific-python.org/calendars/). diff --git a/content/ru/config.yaml b/content/ru/config.yaml new file mode 100644 index 0000000000..694aba3175 --- /dev/null +++ b/content/ru/config.yaml @@ -0,0 +1,137 @@ +languageName: English +params: + description: Why NumPy? Powerful n-dimensional arrays. Numerical computing tools. Interoperable. Performant. Open source. + navbarlogo: + image: logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: The fundamental package for scientific computing with Python + #Button text + buttontext: "Latest release: NumPy 2.0. View all releases" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: logo.svg + shell: + title: placeholder + intro: + - + title: Try NumPy + text: Use the interactive shell to try NumPy in the browser + docslink: Don't forget to check out the docs. + casestudies: + title: CASE STUDIES + features: + - + title: First Image of a Black Hole + text: How NumPy, together with libraries like SciPy and Matplotlib that depend on NumPy, enabled the Event Horizon Telescope to produce the first ever image of a black hole + img: /images/content_images/case_studies/blackhole.png + alttext: First image of a black hole. It is an orange circle in a black background. + url: /case-studies/blackhole-image + - + title: Detection of Gravitational Waves + text: In 1916, Albert Einstein predicted gravitational waves; 100 years later their existence was confirmed by LIGO scientists using NumPy. + img: /images/content_images/case_studies/gravitional.png + alttext: Two orbs orbiting each other. They are displacing gravity around them. + url: /case-studies/gw-discov + - + title: Sports Analytics + text: Cricket Analytics is changing the game by improving player and team performance through statistical modelling and predictive analytics. NumPy enables many of these analyses. + img: /images/content_images/case_studies/sports.jpg + alttext: Cricket ball on green field. + url: /case-studies/cricket-analytics + - + title: Pose Estimation using deep learning + text: DeepLabCut uses NumPy for accelerating scientific studies that involve observing animal behavior for better understanding of motor control, across species and timescales. + img: /images/content_images/case_studies/deeplabcut.png + alttext: Cheetah pose analysis + url: /case-studies/deeplabcut-dnn + tabs: + title: ECOSYSTEM + section5: false + navbar: + - + title: Install + url: /install + - + title: Documentation + url: https://numpy.org/doc/stable + - + title: Learn + url: /learn + - + title: Community + url: /community + - + title: About Us + url: /about + - + title: News + url: /news + - + title: Contribute + url: /contribute + footer: + logo: logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: Install + link: /install + - + text: Documentation + link: https://numpy.org/doc/stable + - + text: Learn + link: /learn + - + text: Citing Numpy + link: /citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /about + - + text: Community + link: /community + - + text: User surveys + link: /user-surveys + - + text: Contribute + link: /contribute + - + text: Code of conduct + link: /code-of-conduct + column3: + links: + - + text: Get help + link: /gethelp + - + text: Terms of use + link: /terms + - + text: Privacy + link: /privacy + - + text: Press kit + link: /press-kit diff --git a/content/ru/contribute.md b/content/ru/contribute.md new file mode 100644 index 0000000000..8d32561517 --- /dev/null +++ b/content/ru/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribute to NumPy +sidebar: false +--- + +The NumPy project welcomes your expertise and enthusiasm! Your choices aren't limited to programming, as you can see below there are many areas where we need **your** help. + +If you're unsure where to start or how your skills fit in, _reach out!_ You can ask on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion) or [GitHub](http://github.com/numpy/numpy) (open an [issue](https://github.com/numpy/numpy/issues) or comment on a relevant issue). + +Those are our preferred channels (open source is open by nature), but if you prefer to talk privately, contact our community coordinators at or on [Slack](https://numpy-team.slack.com) (write for an invite). + +We also have a biweekly _community call_, details of which are announced on the [mailing list](https://mail.python.org/mailman/listinfo/numpy-discussion). You are very welcome to join. If you are new to contributing to open source, we also highly recommend reading [this guide](https://opensource.guide/how-to-contribute/). + +Our community aspires to treat everyone equally and to value all contributions. We have a [Code of Conduct](/code-of-conduct) to foster an open and welcoming environment. + +### Writing code + +Programmers, this [guide](https://numpy.org/devdocs/dev/index.html#development-process-summary) explains how to contribute to the NumPy codebase.
Check out also our [YouTube channel](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) for additional advice. + +### Reviewing pull requests +The project has more than 250 open pull requests -- meaning many potential improvements and many open-source contributors waiting for feedback. If you're a developer who knows NumPy, you can help even if you're not familiar with the codebase. You can: +* summarize a long-running discussion +* triage documentation PRs +* test proposed changes + +### Developing educational materials + +NumPy's [User Guide](https://numpy.org/devdocs) is undergoing rehabilitation. We're in need of new tutorials, how-to's, and deep-dive explanations, and the site needs restructuring. Opportunities aren't limited to writers. We'd also welcome worked examples, notebooks, and videos. [NEP 44 — Restructuring the NumPyDocumentation](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html) lays out our ideas -- and you may have others. + +### Issue triaging + +The [NumPy issue tracker](https://github.com/numpy/numpy/issues) has a _lot_ of open issues. Some are no longer valid, some should be prioritized, and some would make good issues for new contributors. You can: + +* check if older bugs are still present +* find duplicate issues and link related ones +* add good self-contained reproducers to issues +* label issues correctly (this requires triage rights -- just ask) + +Please just dive in. + +### Website development + +We've just revamped our website, but we're far from done. If you love web development, these [issues](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign) list some of our unmet needs -- and feel free to share your own ideas. + +### Graphic design + +We can barely begin to list the contributions a graphic designer can make here. Our docs are parched for illustration; our growing website craves images -- opportunities abound. + +### Translating website content + +We plan multiple translations of [numpy.org](https://numpy.org) to make NumPy accessible to users in their native language. Volunteer translators are at the heart of this effort. See [here](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n) for background; comment on [this GitHub issue](https://github.com/numpy/numpy.org/issues/55) to sign up. + +### Community coordination and outreach + +Through community contact we share our work more widely and learn where we're falling short. We're eager to get more people involved in efforts like our [Twitter](https://twitter.com/numpy_team) account, organizing NumPy [code sprints](https://scisprints.github.io/), a newsletter, and perhaps a blog. + +### Fundraising + +For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. [This SciPy'19 talk](https://www.youtube.com/watch?v=dBTJD_FDVjU) explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here -- we'd appreciate your help. + +### Поддержать нас + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/ru/gethelp.md b/content/ru/gethelp.md new file mode 100644 index 0000000000..da3bff67a5 --- /dev/null +++ b/content/ru/gethelp.md @@ -0,0 +1,20 @@ +--- +title: Get Help +sidebar: false +--- + +**Development issues:** For NumPy development-related matters (e.g., bug reports), please see [Community](/community). + +**User questions:** The best way to get help is to post your question to a site like [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) or [Reddit](https://www.reddit.com/r/Numpy/). We wish we could keep an eye on these sites, or answer questions directly, but the volume is a little overwhelming! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +A forum for asking usage questions, e.g. "How do I do X in NumPy?”. Please [use the `#numpy` tag](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +Another forum for usage questions. + +*** diff --git a/content/ru/history.md b/content/ru/history.md new file mode 100644 index 0000000000..aa669d375b --- /dev/null +++ b/content/ru/history.md @@ -0,0 +1,21 @@ +--- +title: History of NumPy +sidebar: false +--- + +NumPy is a foundational Python library that provides array data structures and related fast numerical routines. When started, the library had little funding, and was written mainly by graduate students—many of them without computer science education, and often without a blessing of their advisors. To even imagine that a small group of “rogue” student programmers could upend the already well-established ecosystem of research software—backed by millions in funding and many hundreds of highly qualified engineers — was preposterous. Yet, the philosophical motivations behind a fully open tool stack, in combination with the excited, friendly community with a singular focus, have proven auspicious in the long run. Nowadays, NumPy is relied upon by scientists, engineers, and many other professionals around the world. For example, the published scripts used in the analysis of gravitational waves import NumPy, and the M87 black hole imaging project directly cites NumPy. + +For the in-depth account on milestones in the development of NumPy and related libraries please see [arxiv.org](https://arxiv.org/abs/1907.10121). + +If you’d like to obtain a copy of the original Numeric and Numarray libraries, follow the links below: + +[Download Page for *Numeric*](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[Download Page for *Numarray*](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*Please note that these older array packages are no longer maintained, and users are strongly advised to use NumPy for any array-related purposes or refactor any pre-existing code to utilize the NumPy library. + +### Historic Documentation + +[Download *`Numeric'* Manual](static/numeric-manual.pdf) + diff --git a/content/ru/install.md b/content/ru/install.md new file mode 100644 index 0000000000..f64a17841d --- /dev/null +++ b/content/ru/install.md @@ -0,0 +1,126 @@ +--- +title: Installing NumPy +sidebar: false +--- + +The only prerequisite for installing NumPy is Python itself. If you don't have Python yet and want the simplest way to get started, we recommend you use the [Anaconda Distribution](https://www.anaconda.com/download) - it includes Python, NumPy, and many other commonly used packages for scientific computing and data science. + +NumPy can be installed with `conda`, with `pip`, with a package manager on macOS and Linux, or [from source](https://numpy.org/devdocs/building). For more detailed instructions, consult our [Python and NumPy installation guide](#python-numpy-install-guide) below. + +**CONDA** + +If you use `conda`, you can install NumPy from the `defaults` or `conda-forge` channels: + +```bash +# Best practice, use an environment rather than install in the base env +conda create -n my-env +conda activate my-env +# If you want to install from conda-forge +conda config --env --add channels conda-forge +# The actual install command +conda install numpy +``` + +**PIP** + +If you use `pip`, you can install NumPy with: + +```bash +pip install numpy +``` +Also when using pip, it's good practice to use a virtual environment - see [Reproducible Installs](#reproducible-installs) below for why, and [this guide](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) for details on using virtual environments. + + + + +# Python and NumPy installation guide + +Installing and managing packages in Python is complicated, there are a number of alternative solutions for most tasks. This guide tries to give the reader a sense of the best (or most popular) solutions, and give clear recommendations. It focuses on users of Python, NumPy, and the PyData (or numerical computing) stack on common operating systems and hardware. + +## Recommendations + +We'll start with recommendations based on the user's experience level and operating system of interest. If you're in between "beginning" and "advanced", please go with "beginning" if you want to keep things simple, and with "advanced" if you want to work according to best practices that go a longer way in the future. + +### Beginning users + +On all of Windows, macOS, and Linux: + +- Install [Anaconda](https://www.anaconda.com/download) (it installs all packages you need and all other tools mentioned below). +- For writing and executing code, use notebooks in [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) for exploratory and interactive computing, and [Spyder](https://www.spyder-ide.org/) or [Visual Studio Code](https://code.visualstudio.com/) for writing scripts and packages. +- Use [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) to manage your packages and start JupyterLab, Spyder, or Visual Studio Code. + + +### Advanced users + +#### Conda + +- Install [Miniforge](https://github.com/conda-forge/miniforge). +- Keep the `base` conda environment minimal, and use one or more [conda environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) to install the package you need for the task or project you're working on. + +#### Alternative if you prefer pip/PyPI + +For users who know, from personal preference or reading about the main differences between conda and pip below, they prefer a pip/PyPI-based solution, we recommend: +- Install Python from [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/), or your Linux package manager. +- Use [Poetry](https://python-poetry.org/) as the most well-maintained tool that provides a dependency resolver and environment management capabilities in a similar fashion as conda does. + + +## Python package management + +Managing packages is a challenging problem, and, as a result, there are lots of tools. For web and general purpose Python development there's a whole [host of tools](https://packaging.python.org/guides/tool-recommendations/) complementary with pip. For high-performance computing (HPC), [Spack](https://github.com/spack/spack) is worth considering. For most NumPy users though, [conda](https://conda.io/en/latest/) and [pip](https://pip.pypa.io/en/stable/) are the two most popular tools. + + +### Pip & conda + +The two main tools that install Python packages are `pip` and `conda`. Their functionality partially overlaps (e.g. both can install `numpy`), however, they can also work together. We'll discuss the major differences between pip and conda here - this is important to understand if you want to manage packages effectively. + +The first difference is that conda is cross-language and it can install Python, while pip is installed for a particular Python on your system and installs other packages to that same Python install only. This also means conda can install non-Python libraries and tools you may need (e.g. compilers, CUDA, HDF5), while pip can't. + +The second difference is that pip installs from the Python Packaging Index (PyPI), while conda installs from its own channels (typically "defaults" or "conda-forge"). PyPI is the largest collection of packages by far, however, all popular packages are available for conda as well. + +The third difference is that conda is an integrated solution for managing packages, dependencies and environments, while with pip you may need another tool (there are many!) for dealing with environments or complex dependencies. + + + +### Reproducible installs + +As libraries get updated, results from running your code can change, or your code can break completely. It's important to be able to reconstruct the set of packages and versions you're using. Best practice is to: + +1. use a different environment per project you're working on, +2. record package names and versions using your package installer; each has its own metadata format for this: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [virtual environments](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy packages & accelerated linear algebra libraries + +NumPy doesn't depend on any other Python packages, however, it does depend on an accelerated linear algebra library - typically [Intel MKL](https://software.intel.com/en-us/mkl) or [OpenBLAS](https://www.openblas.net/). Users don't have to worry about installing those (they're automatically included in all NumPy install methods). Power users may still want to know the details, because the used BLAS can affect performance, behavior and size on disk: + +- The NumPy wheels on PyPI, which is what pip installs, are built with OpenBLAS. The OpenBLAS libraries are included in the wheel. This makes the wheel larger, and if a user installs (for example) SciPy as well, they will now have two copies of OpenBLAS on disk. + +- In the conda defaults channel, NumPy is built against Intel MKL. MKL is a separate package that will be installed in the users' environment when they install NumPy. + +- In the conda-forge channel, NumPy is built against a dummy "BLAS" package. When a user installs NumPy from conda-forge, that BLAS package then gets installed together with the actual library - this defaults to OpenBLAS, but it can also be MKL (from the defaults channel), or even [BLIS](https://github.com/flame/blis) or reference BLAS. + +- The MKL package is a lot larger than OpenBLAS, it's about 700 MB on disk while OpenBLAS is about 30 MB. + +- MKL is typically a little faster and more robust than OpenBLAS. + +Besides install sizes, performance and robustness, there are two more things to consider: + +- Intel MKL is not open source. For normal use this is not a problem, but if a user needs to redistribute an application built with NumPy, this could be an issue. +- Both MKL and OpenBLAS will use multi-threading for function calls like `np.dot`, with the number of threads being determined by both a build-time option and an environment variable. Often all CPU cores will be used. This is sometimes unexpected for users; NumPy itself doesn't auto-parallelize any function calls. It typically yields better performance, but can also be harmful - for example when using another level of parallelization with Dask, scikit-learn or multiprocessing. + + +## Troubleshooting + +If your installation fails with the message below, see [Troubleshooting ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html). + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for +different reasons, often due to issues with your setup. +``` + diff --git a/content/ru/learn.md b/content/ru/learn.md new file mode 100644 index 0000000000..4f9fa53ae3 --- /dev/null +++ b/content/ru/learn.md @@ -0,0 +1,76 @@ +--- +title: Learn +sidebar: false +--- + +For the **official NumPy documentation** visit [numpy.org/doc/stable](https://numpy.org/doc/stable). + +*** + +Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community. + +## Beginners + +There's a ton of information about NumPy out there. If you are just starting, we'd strongly recommend the following: + + **Tutorials** + +* [NumPy Quickstart Tutorial](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). +* [NumPy Illustrated: The Visual Guide to NumPy *by Lev Maximov*](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://lectures.scientific-python.org/) Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem. +* [NumPy: the absolute basics for beginners](https://numpy.org/devdocs/user/absolute_beginners.html) +* [NumPy tutorial *by Nicolas Rougier*](https://github.com/rougier/numpy-tutorial) +* [Stanford CS231 *by Justin Johnson*](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy User Guide](https://numpy.org/devdocs) + + **Books** + +* [Guide to NumPy *by Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) This is a free version 1 from 2006. For the latest copy (2015) see [here](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1144670472). +* [From Python to NumPy *by Nicolas P. Rougier*](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* [Elegant SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) *by Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow* + +You may also want to check out the [Goodreads list](https://www.goodreads.com/shelf/show/python-scipy) on the subject of "Python+SciPy." Most books there are about the "SciPy ecosystem," which has NumPy at its core. + + **Videos** + +* [Introduction to Numerical Computing with NumPy](http://youtu.be/ZB7BZMhfPgk) *by Alex Chabot-Leclerc* + +*** + +## Advanced + +Try these advanced resources for a better understanding of NumPy concepts like advanced indexing, splitting, stacking, linear algebra, and more. + + **Tutorials** + +* [100 NumPy Exercises](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) *by Nicolas P. Rougier* +* [An Introduction to NumPy and Scipy](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) *by M. Scott Shell* +* [Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) *by Stéfan van der Walt* +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). + + **Books** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1098121228) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X) *by Wes McKinney* +* [Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy, and Matplotlib](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) *by Robert Johansson* + + **Videos** + +* [Advanced NumPy - broadcasting rules, strides, and advanced indexing](https://www.youtube.com/watch?v=cYugp9IN1-Q) *by Juan Nunez-Iglesias* + +*** + +## NumPy Talks + +* [The Future of NumPy Indexing](https://www.youtube.com/watch?v=o0EacbIbf58) *by Jaime Fernández* (2016) +* [Evolution of Array Computing in Python](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) *by Ralf Gommers* (2019) +* [NumPy: what has changed and what is going to change?](https://www.youtube.com/watch?v=YFLVQFjRmPY) *by Matti Picus* (2019) +* [Inside NumPy](https://www.youtube.com/watch?v=dBTJD_FDVjU) *by Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris* (2019) +* [Brief Review of Array Computing in Python](https://www.youtube.com/watch?v=f176j2g2eNc) *by Travis Oliphant* (2019) + +*** + +## Citing NumPy + +If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, please see [this citation information](/citing-numpy). diff --git a/content/ru/news.md b/content/ru/news.md new file mode 100644 index 0000000000..ef4ceee0dd --- /dev/null +++ b/content/ru/news.md @@ -0,0 +1,307 @@ +--- +title: News +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2024-08-18 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0.0 released + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 release date: June 16 + +_23 May, 2024_ -- We are excited to announce that NumPy 2.0 is planned to be released on June 16, 2024. This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains **breaking changes** to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy `2.0.0rc2`. **Please see the following for more details:** + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUS end of the year fundraiser +_Dec 19, 2023_ -- NumFOCUS has teamed up with PyCharm during their EOY campaign to offer a 30% discount on first-time PyCharm licenses. All year-one revenue from PyCharm purchases from now until December 23rd, 2023 will go directly to the NumFOCUS programs. + +Use unique URL that will allow to track purchases https://lp.jetbrains.com/support-data-science/ or a coupon code ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 released + +_Sep 16, 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) is now available. The highlights of the release are: + +* Python 3.12.0 support. +* Cython 3.0.0 compatibility. +* Use of the Meson build system +* Updated SIMD support +* f2py fixes, meson and bind(x) support +* Support for the updated Accelerate BLAS/LAPACK library + +The NumPy 1.26.0 release is a continuation of the 1.25.x series that marks the transition to the Meson build system and provision of support for Cython 3.0.0. A total of 20 people contributed to this release and 59 pull requests were merged. + +The Python versions supported by this release are 3.9-3.12. + +### numpy.org is now available in Japanese and Portuguese + +_Aug 2, 2023_ -- numpy.org is now available in 2 additional languages: Japanese and Portuguese. This wouldn’t be possible without our dedicated volunteers: + +_Portuguese:_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japanese:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +The work on the translation infrastructure is supported with funding from CZI. + +Looking ahead, we’d love to translate the website into more languages. If you’d like to help, please connect with the NumPy Translations Team on Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Look for the #translations channel.) We are also building a Translations Team who will be working on localizing documentation and educational content across the Scientific Python ecosystem. If this piqued your interest, join us on the Scientific Python Discord: https://discord.gg/khWtqY6RKr. (Look for the #translation channel.) + +### NumPy 1.25.0 released + +_Jun 17, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) is now available. The highlights of the release are: + +* Support for MUSL, there are now MUSL wheels. +* Support for the Fujitsu C/C++ compiler. +* Object arrays are now supported in einsum. +* Support for the inplace matrix multiplication (`@=`). + +The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been preparatory work for the future NumPy 2.0.0, resulting in a large number of new and expired deprecations. + +A total of 148 people contributed to this release and 530 pull requests were merged. + +The Python versions supported by this release are 3.9-3.11. + +### Fostering an Inclusive Culture: Call for Participation + +_May 10, 2023_ -- Fostering an Inclusive Culture: Call for Participation + +How can we be better when it comes to diversity and inclusion? Read the report and find out how to get involved [here](https://contributor-experience.org/docs/posts/dei-report/). + +### NumPy documentation team leadership transition + +_Jan 6, 2023_ –- Mukulika Pahari and Ross Barnowski are appointed as the new NumPy documentation team leads replacing Melissa Mendonça. We thank Melissa for all her contributions to the NumPy official documentation and educational materials, and Mukulika and Ross for stepping up. + +### NumPy 1.24.0 released + +_Dec 18, 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) is now available. The highlights of the release are: + +* New "dtype" and "casting" keywords for stacking functions. +* New F2PY features and fixes. +* Many new deprecations, check them out. +* Many expired deprecations, + +The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase execution speed, and clarify the documentation. There are a large number of new and expired deprecations due to changes in dtype promotion and cleanups. It is the work of 177 contributors spread over 444 pull requests. The supported Python versions are 3.8-3.11. + +### Numpy 1.23.0 released + +_Jun 22, 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) is now available. The highlights of the release are: + +* Implementation of `loadtxt` in C, greatly improving its performance. +* Exposure of DLPack at the Python level for easy data exchange. +* Changes to the promotion and comparisons of structured dtypes. +* Improvements to f2py. + +The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. It is the work of 151 contributors spread over 494 pull requests. The Python versions supported by this release 3.8-3.10. Python 3.11 will be supported when it reaches the rc stage. + +### NumFOCUS DEI research study: call for participation + +_Apr 13, 2022_ -- NumPy is working with [NumFOCUS](http://numfocus.org/) on a [research project](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) funded by the [Gordon & Betty Moore Foundation](https://www.moore.org/) to understand the barriers to participation that contributors, particularly those from historically underrepresented groups, face in the open-source software community. The research team would like to talk to new contributors, project developers and maintainers, and those who have contributed in the past about their experiences joining and contributing to NumPy. + +**Interested in sharing your experiences?** + +Please complete this brief [“Participant Interest” form](https://numfocus.typeform.com/to/WBWVJSqe) which contains additional information on the research goals, privacy, and confidentiality considerations. Your participation will be valuable to the growth and sustainability of diverse and inclusive open-source software communities. Accepted participants will participate in a 30-minute interview with a research team member. + +### Numpy 1.22.0 release + +_Dec 31, 2021_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) is now available. The highlights of the release are: + +* Type annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release. +* A preliminary version of the proposed [array API Standard](https://data-apis.org/array-api/latest/) is provided (see [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). This is a step in creating a standard collection of functions that can be used across libraries such as CuPy and JAX. +* NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data. +* New methods for `quantile`, `percentile`, and related functions. The new methods provide a complete set of the methods commonly found in the literature. +* The universal functions have been refactored to implement most of [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html). This also unlocks the ability to experiment with the future DType API. +* A new configurable memory allocator for use by downstream projects. + +NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. The Python versions supported by this release are 3.8-3.10. + +### Advancing an inclusive culture in the scientific Python ecosystem + +_August 31, 2021_ -- We are happy to announce the Chan Zuckerberg Initiative has [awarded a grant](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) to support the onboarding, inclusion, and retention of people from historically marginalized groups on scientific Python projects, and to structurally improve the community dynamics for NumPy, SciPy, Matplotlib, and Pandas. + +As a part of [CZI's Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/), this [Diversity & Inclusion supplemental grant](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) will support the creation of dedicated Contributor Experience Lead positions to identify, document, and implement practices to foster inclusive open-source communities. This project will be led by Melissa Mendonça (NumPy), with additional mentorship and guidance provided by Ralf Gommers (NumPy, SciPy), Hannah Aizenman and Thomas Caswell (Matplotlib), Matt Haberland (SciPy), and Joris Van den Bossche (Pandas). + +This is an ambitious project aiming to discover and implement activities that should structurally improve the community dynamics of our projects. By establishing these new cross-project roles, we hope to introduce a new collaboration model to the Scientific Python communities, allowing community-building work within the ecosystem to be done more efficiently and with greater outcomes. We also expect to develop a clearer picture of what works and what doesn't in our projects to engage and retain new contributors, especially from historically underrepresented groups. Finally, we plan on producing detailed reports on the actions executed, explaining how they have impacted our projects in terms of representation and interaction with our communities. + +The two-year project is expected to start by November 2021, and we are excited to see the results from this work! [You can read the full proposal here](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063). + +### 2021 NumPy survey + +_July 12, 2021_ -- At NumPy, we believe in the power of our community. 1,236 NumPy users from 75 countries participated in our inaugural survey last year. The survey findings gave us a very good understanding of what we should focus on for the next 12 months. + +It’s time for another survey, and we are counting on you once again. It will take about 15 minutes of your time. Besides English, the survey questionnaire is available in 8 additional languages: Bangla, French, Hindi, Japanese, Mandarin, Portuguese, Russian, and Spanish. + +Follow the link to get started: https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q. + + +### Numpy 1.21.0 release + +_Jun 23, 2021_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) is now available. The highlights of the release are: + +- continued SIMD work covering more functions and platforms, +- initial work on the new dtype infrastructure and casting, +- universal2 wheels for Python 3.8 and Python 3.9 on Mac, +- improved documentation, +- improved annotations, +- new `PCG64DXSM` bitgenerator for random numbers. + +This NumPy release is the result of 581 merged pull requests contributed by 175 people. The Python versions supported for this release are 3.7-3.9, support for Python 3.10 will be added after Python 3.10 is released. + + +### 2020 NumPy survey results + +_Jun 22, 2021_ -- In 2020, the NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results here: https://numpy.org/user-survey-2020/. + + +### Numpy 1.20.0 release + +_Jan 30, 2021_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.20.0-notes.html) is now available. This is the largest NumPy release to date, thanks to 180+ contributors. The two most exciting new features are: +- Type annotations for large parts of NumPy, and a new `numpy.typing` submodule containing `ArrayLike` and `DtypeLike` aliases that users and downstream libraries can use when adding type annotations in their own code. +- Multi-platform SIMD compiler optimizations, with support for x86 (SSE, AVX), ARM64 (Neon), and PowerPC (VSX) instructions. This yielded significant performance improvements for many functions (examples: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194)). + +### Diversity in the NumPy project + +_Sep 20, 2020_ -- We wrote a [statement on the state of, and discussion on social media around, diversity and inclusion in the NumPy project](/diversity_sep2020). + + +### First official NumPy paper published in Nature! + +_Sep 16, 2020_ -- We are pleased to announce the publication of [the first official paper on NumPy](https://www.nature.com/articles/s41586-020-2649-2) as a review article in Nature. This comes 14 years after the release of NumPy 1.0. The paper covers applications and fundamental concepts of array programming, the rich scientific Python ecosystem built on top of NumPy, and the recently added array protocols to facilitate interoperability with external array and tensor libraries like CuPy, Dask, and JAX. + + +### Python 3.9 is coming, when will NumPy release binary wheels? + +_Sept 14, 2020_ -- Python 3.9 will be released in a few weeks. If you are an early adopter of Python versions, you may be dissapointed to find that NumPy (and other binary packages like SciPy) will not have binary wheels ready on the day of the release. It is a major effort to adapt the build infrastructure to a new Python version and it typically takes a few weeks for the packages to appear on PyPI and conda-forge. In preparation for this event, please make sure to +- update your `pip` to version 20.1 at least to support `manylinux2010` and `manylinux2014` +- use [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) or `--only-binary=:all:` to prevent `pip` from trying to build from source. + + +### Numpy 1.19.2 release + +_Sep 10, 2020_ -- [NumPy 1.19.2](https://numpy.org/devdocs/release/1.19.2-notes.html) is now available. This latest release in the 1.19 series fixes several bugs, prepares for the [upcoming Cython 3.x release](http://docs.cython.org/en/latest/src/changes.html) and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros. + +### The inaugural NumPy survey is live! + +_Jul 2, 2020_ -- This survey is meant to guide and set priorities for decision-making about the development of NumPy as software and as a community. The survey is available in 8 additional languages besides English: Bangla, Hindi, Japanese, Mandarin, Portuguese, Russian, Spanish and French. + +Please help us make NumPy better and take the survey [here](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl). + + +### NumPy has a new logo! + +_Jun 24, 2020_ -- NumPy now has a new logo: + +NumPy logo + +The logo is a modern take on the old one, with a cleaner design. Thanks to Isabela Presedo-Floyd for designing the new logo, as well as to Travis Vaught for the old logo that served us well for 15+ years. + + +### NumPy 1.19.0 release + +_Jun 20, 2020_ -- NumPy 1.19.0 is now available. This is the first release without Python 2 support, hence it was a "clean-up release". The minimum supported Python version is now Python 3.6. An important new feature is that the random number generation infrastructure that was introduced in NumPy 1.17.0 is now accessible from Cython. + + +### Season of Docs acceptance + +_May 11, 2020_ -- NumPy has been accepted as one of the mentor organizations for the Google Season of Docs program. We are excited about the opportunity to work with a technical writer to improve NumPy's documentation once again! For more details, please see [the official Season of Docs site](https://developers.google.com/season-of-docs/) and our [ideas page](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas). + + +### NumPy 1.18.0 release + +_Dec 22, 2019_ -- NumPy 1.18.0 is now available. After the major changes in 1.17.0, this is a consolidation release. It is the last minor release that will support Python 3.5. Highlights of the release includes the addition of basic infrastructure for linking with 64-bit BLAS and LAPACK libraries, and a new C-API for `numpy.random`. + +Please see the [release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0) for more details. + + +### NumPy receives a grant from the Chan Zuckerberg Initiative + +_Nov 15, 2019_ -- We are pleased to announce that NumPy and OpenBLAS, one of NumPy's key dependencies, have received a joint grant for $195,000 from the Chan Zuckerberg Initiative through their [Essential Open Source Software for Science program](https://chanzuckerberg.com/eoss/) that supports software maintenance, growth, development, and community engagement for open source tools critical to science. + +This grant will be used to ramp up the efforts in improving NumPy documentation, website redesign, and community development to better serve our large and rapidly growing user base, and ensure the long-term sustainability of the project. While the OpenBLAS team will focus on addressing sets of key technical issues, in particular thread-safety, AVX-512, and thread-local storage (TLS) issues, as well as algorithmic improvements in ReLAPACK (Recursive LAPACK) on which OpenBLAS depends. + +More details on our proposed initiatives and deliverables can be found in the [full grant proposal](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167). The work is scheduled to start on Dec 1st, 2019 and continue for the next 12 months. + + + + +## Releases + +Here is a list of NumPy releases, with links to release notes. Bugfix releases (only the `z` changes in the `x.y.z` version number) have no new features; minor releases (the `y` increases) do. + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 Feb 2024_. +- NumPy 1.26.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 Jan 2024_. +- NumPy 1.26.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 Nov 2023_. +- NumPy 1.26.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 Oct 2023_. +- NumPy 1.26.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 Sep 2023_. +- NumPy 1.25.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 Jul 2023_. +- NumPy 1.25.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 Jul 2023_. +- NumPy 1.24.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 Jun 2023_. +- NumPy 1.25.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 Jun 2023_. +- NumPy 1.24.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 Apr 2023_. +- NumPy 1.24.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 Feb 2023_. +- NumPy 1.24.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 Dec 2022_. +- NumPy 1.24.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 Dec 2022_. +- NumPy 1.23.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _19 Nov 2022_. +- NumPy 1.23.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 Oct 2022_. +- NumPy 1.23.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 Sep 2022_. +- NumPy 1.23.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 Aug 2022_. +- NumPy 1.23.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 Jul 2022_. +- NumPy 1.23.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 Jun 2022_. +- NumPy 1.22.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 May 2022_. +- NumPy 1.21.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 Apr 2022_. +- NumPy 1.22.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 Mar 2022_. +- NumPy 1.22.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 Feb 2022_. +- NumPy 1.22.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 Jan 2022_. +- NumPy 1.22.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.0)) -- _31 Dec 2021_. +- NumPy 1.21.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.5)) -- _19 Dec 2021_. +- NumPy 1.21.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _22 Jun 2021_. +- NumPy 1.20.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _10 May 2021_. +- NumPy 1.20.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _30 Jan 2021_. +- NumPy 1.19.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _5 Jan 2021_. +- NumPy 1.19.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _20 Jun 2020_. +- NumPy 1.18.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.4)) -- _3 May 2020_. +- NumPy 1.17.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.5)) -- _1 Jan 2020_. +- NumPy 1.18.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.18.0)) -- _22 Dec 2019_. +- NumPy 1.17.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.17.0)) -- _26 Jul 2019_. +- NumPy 1.16.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.16.0)) -- _14 Jan 2019_. +- NumPy 1.15.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.15.0)) -- _23 Jul 2018_. +- NumPy 1.14.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.14.0)) -- _7 Jan 2018_. diff --git a/content/ru/press-kit.md b/content/ru/press-kit.md new file mode 100644 index 0000000000..2c8970bb29 --- /dev/null +++ b/content/ru/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press kit +sidebar: false +--- + +We would like to make it easy for you to include the NumPy project identity in your next academic paper, course materials, or presentation. + +You will find several high-resolution versions of the NumPy logo [here](https://github.com/numpy/numpy/tree/main/branding/logo). Note that by using the numpy.org resources, you accept the [NumPy Code of Conduct](/code-of-conduct). diff --git a/content/ru/privacy.md b/content/ru/privacy.md new file mode 100644 index 0000000000..6064e4c4f1 --- /dev/null +++ b/content/ru/privacy.md @@ -0,0 +1,8 @@ +--- +title: Privacy Policy +sidebar: false +--- + +**numpy.org** is operated by [NumFOCUS, Inc.](https://numfocus.org), the fiscal sponsor of the NumPy project. For the Privacy Policy of this website please refer to https://numfocus.org/privacy-policy. + +If you have any questions about the policy or NumFOCUS’s data collection, use, and disclosure practices, please contact the NumFOCUS staff at privacy@numfocus.org. diff --git a/content/ru/report-handling-manual.md b/content/ru/report-handling-manual.md new file mode 100644 index 0000000000..5586668cba --- /dev/null +++ b/content/ru/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: NumPy Code of Conduct - How to follow up on a report +sidebar: false +--- + +This is the manual followed by NumPy’s Code of Conduct Committee. It’s used when we respond to an issue to make sure we’re consistent and fair. + +Enforcing the [Code of Conduct](/code-of-conduct) impacts our community today and for the future. It’s an action that we do not take lightly. When reviewing enforcement measures, the Code of Conduct Committee will keep the following values and guidelines in mind: + +* Act in a personal manner rather than impersonal. The Committee can engage the parties to understand the situation while respecting the privacy and any necessary confidentiality of reporters. However, sometimes it is necessary to communicate with one or more individuals directly: the Committee’s goal is to improve the health of our community rather than only produce a formal decision. +* Emphasize empathy for individuals rather than judging behavior, avoiding binary labels of “good” and “bad/evil”. Overt, clear-cut aggression and harassment exist, and we will address them firmly. But many scenarios that can prove challenging to resolve are those where normal disagreements devolve into unhelpful or harmful behavior from multiple parties. Understanding the full context and finding a path that re-engages all is hard, but ultimately the most productive for our community. +* We understand that email is a difficult medium and can be isolating. Receiving criticism over email, without personal contact, can be particularly painful. This makes it especially important to keep an atmosphere of open-minded respect for the views of others. It also means that we must be transparent in our actions, and that we will do everything in our power to make sure that all our members are treated fairly and with sympathy. +* Discrimination can be subtle and it can be unconscious. It can show itself as unfairness and hostility in otherwise ordinary interactions. We know that this does occur, and we will take care to look out for it. We would very much like to hear from you if you feel you have been treated unfairly, and we will use these procedures to make sure that your complaint is heard and addressed. +* Help increase engagement in good discussion practice: try to identify where discussion may have broken down, and provide actionable information, pointers, and resources that can lead to positive change on these points. +* Be mindful of the needs of new members: provide them with explicit support and consideration, with the aim of increasing participation from underrepresented groups in particular. +* Individuals come from different cultural backgrounds and native languages. Try to identify any honest misunderstandings caused by a non-native speaker and help them understand the issue and what they can change to avoid causing offence. Complex discussion in a foreign language can be very intimidating, and we want to grow our diversity also across nationalities and cultures. + + +## Mediation + +Voluntary informal mediation is a tool at our disposal. In contexts such as when two or more parties have all escalated to the point of inappropriate behavior (something sadly common in human conflict), it may be useful to facilitate a mediation process. This is only an example: the Committee can consider mediation in any case, mindful that the process is meant to be strictly voluntary and no party can be pressured to participate. If the Committee suggests mediation, it should: + +* Find a candidate who can serve as a mediator. +* Obtain the agreement of the reporter(s). The reporter(s) have complete freedom to decline the mediation idea or to propose an alternate mediator. +* Obtain the agreement of the reported person(s). +* Settle on the mediator: while parties can propose a different mediator than the suggested candidate, only if a common agreement is reached on all terms can the process move forward. +* Establish a timeline for mediation to complete, ideally within two weeks. + +The mediator will engage with all the parties and seek a resolution that is satisfactory to all. Upon completion, the mediator will provide a report (vetted by all parties to the process) to the Committee, with recommendations on further steps. The Committee will then evaluate these results (whether a satisfactory resolution was achieved or not) and decide on any additional action deemed necessary. + + +## How the Committee will respond to reports + +When the Committee (or a Committee member) receives a report, they will first determine whether the report is about a clear and severe breach (as defined below). If so, immediate action needs to be taken in addition to the regular report handling process. + + +## Clear and severe breach actions + +We know that it is painfully common for internet communication to start at or devolve into obvious and flagrant abuse. We will deal quickly with clear and severe breaches like personal threats, violent, sexist or racist language. + +When a member of the Code of Conduct Committee becomes aware of a clear and severe breach, they will do the following: + +* Immediately disconnect the originator from all NumPy communication channels. +* Reply to the reporter that their report has been received and that the originator has been disconnected. +* In every case, the moderator should make a reasonable effort to contact the originator, and tell them specifically how their language or actions qualify as a “clear and severe breach”. The moderator should also say that, if the originator believes this is unfair or they want to be reconnected to NumPy, they have the right to ask for a review, as below, by the Code of Conduct Committee. The moderator should copy this explanation to the Code of Conduct Committee. +* The Code of Conduct Committee will formally review and sign off on all cases where this mechanism has been applied to make sure it is not being used to control ordinary heated disagreement. + + +## Report handling + +When a report is sent to the Committee they will immediately reply to the reporter to confirm receipt. This reply must be sent within 72 hours, and the group should strive to respond much quicker than that. + +If a report doesn’t contain enough information, the Committee will obtain all relevant data before acting. The Committee is empowered to act on the Steering Council’s behalf in contacting any individuals involved to get a more complete account of events. + +The Committee will then review the incident and determine, to the best of their ability: + +* What happened. +* Whether this event constitutes a Code of Conduct violation. +* Who are the responsible party(ies). +* Whether this is an ongoing situation, and there is a threat to anyone’s physical safety. + +This information will be collected in writing, and whenever possible the group’s deliberations will be recorded and retained (i.e. chat transcripts, email discussions, recorded conference calls, summaries of voice conversations, etc). + +It is important to retain an archive of all activities of this Committee to ensure consistency in behavior and provide institutional memory for the project. To assist in this, the default channel of discussion for this Committee will be a private mailing list accessible to current and future members of the Committee as well as members of the Steering Council upon justified request. If the Committee finds the need to use off-list communications (e.g. phone calls for early/rapid response), it should in all cases summarize these back to the list so there’s a good record of the process. + +The Code of Conduct Committee should aim to have a resolution agreed upon within two weeks. In the event that a resolution can’t be determined in that time, the Committee will respond to the reporter(s) with an update and projected timeline for resolution. + + +## Resolutions + +The Committee must agree on a resolution by consensus. If the group cannot reach consensus and deadlocks for over a week, the group will turn the matter over to the Steering Council for resolution. + +Possible responses may include: + +* Taking no further action: + - if we determine no violations have occurred; + - if the matter has been resolved publicly while the Committee was considering responses. +* Coordinating voluntary mediation: if all involved parties agree, the Committee may facilitate a mediation process as detailed above. +* Remind publicly, and point out that some behavior/actions/language have been judged inappropriate and why in the current context, or can but hurtful to some people, requesting the community to self-adjust. +* A private reprimand from the Committee to the individual(s) involved. In this case, the group chair will deliver that reprimand to the individual(s) over email, cc’ing the group. +* A public reprimand. In this case, the Committee chair will deliver that reprimand in the same venue that the violation occurred, within the limits of practicality. E.g., the original mailing list for an email violation, but for a chat room discussion where the person/context may be gone, they can be reached by other means. The group may choose to publish this message elsewhere for documentation purposes. +* A request for a public or private apology, assuming the reporter agrees to this idea: they may at their discretion refuse further contact with the violator. The chair will deliver this request. The Committee may, if it chooses, attach “strings” to this request: for example, the group may ask a violator to apologize in order to retain one’s membership on a mailing list. +* A “mutually agreed upon hiatus” where the Committee asks the individual to temporarily refrain from community participation. If the individual chooses not to take a temporary break voluntarily, the Committee may issue a “mandatory cooling off period”. +* A permanent or temporary ban from some or all NumPy spaces (mailing lists, gitter.im, etc.). The group will maintain records of all such bans so that they may be reviewed in the future or otherwise maintained. + +Once a resolution is agreed upon, but before it is enacted, the Committee will contact the original reporter and any other affected parties and explain the proposed resolution. The Committee will ask if this resolution is acceptable, and must note feedback for the record. + +Finally, the Committee will make a report to the NumPy Steering Council (as well as the NumPy core team in the event of an ongoing resolution, such as a ban). + +The Committee will never publicly discuss the issue; all public statements will be made by the chair of the Code of Conduct Committee or the NumPy Steering Council. + + +## Conflicts of Interest + +In the event of any conflict of interest, a Committee member must immediately notify the other members, and recuse themselves if necessary. diff --git a/content/ru/tabcontents.yaml b/content/ru/tabcontents.yaml new file mode 100644 index 0000000000..d74cba9bce --- /dev/null +++ b/content/ru/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + arraylibraries: + intro: + - + text: NumPy's API is the starting point when libraries are written to exploit innovative hardware, create specialized array types, or add capabilities beyond what NumPy provides. + headers: + - + text: Array Library + - + text: Capabilities & Application areas + libraries: + - + title: Dask + text: Distributed arrays and advanced parallelism for analytics, enabling performance at scale. + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: CuPy + text: NumPy-compatible array library for GPU-accelerated computing with Python. + img: /images/content_images/arlib/cupy.png + alttext: CuPy + url: https://cupy.dev + - + title: JAX + text: "Composable transformations of NumPy programs: differentiate, vectorize, just-in-time compilation to GPU/TPU." + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: Sparse + text: NumPy-compatible sparse array library that integrates with Dask and SciPy's sparse linear algebra. + img: /images/content_images/arlib/sparse.png + alttext: sparse + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: Deep learning framework that accelerates the path from research prototyping to production deployment. + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: An end-to-end platform for machine learning to easily build and deploy ML powered applications. + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: A cross-language development platform for columnar in-memory data and analytics. + img: /images/content_images/arlib/arrow.png + alttext: arrow + url: https://arrow.apache.org/ + - + title: xtensor + text: Multi-dimensional arrays with broadcasting and lazy computing for numerical analysis. + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipulate JSON-like data with NumPy-like idioms. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: Python backend system that decouples API from implementation; unumpy provides a NumPy API. + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: Nearly every scientist working in Python draws on the power of NumPy. + - + text: "NumPy brings the computational power of languages like C and Fortran to Python, a language much easier to learn and use. With this power comes simplicity: a solution in NumPy is often clear and elegant." + libraries: + - + title: Quantum Computing + alttext: A computer chip. + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: Statistical Computing + alttext: A line graph with the line moving up. + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: Image Processing + alttext: An photograph of the mountains. + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy + alttext: A telescope. + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: Cognitive Psychology + alttext: A human head with gears. + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: Bioinformatics + alttext: A strand of DNA. + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: Bayesian Inference + alttext: A graph with a bell-shaped curve. + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: Mathematical Analysis + alttext: Four mathematical symbols. + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: Chemistry + alttext: A test tube. + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: Geoscience + alttext: The Earth. + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: Geographic Processing + alttext: A map. + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: Architecture & Engineering + alttext: A microprocessor development board. + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy lies at the core of a rich ecosystem of data science libraries. A typical exploratory data science workflow might look like:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Diagram of Python Libraries. The five catagories are 'Extract, Transform, Load', 'Data Exploration', 'Data Modeling', 'Data Evaluation' and 'Data Presentation'. + image2: + - + img: /images/content_images/data-science.png + alttext: Diagram of three overlapping circles. The circles are labeled 'Mathematics', 'Computer Science' and 'Domain Expertise'. In the middle of the diagram, which has the three circles overlapping it, is an area labeled 'Data Science'. + examples: + - + text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor-devs.github.io/pyjanitor/)" + - + text: "Exploratory analysis: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "Model and evaluate: [scikit-learn](https://scikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Report in a dashboard: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://voila.readthedocs.io/)" + content: + - + text: For high data volumes, [Dask](https://dask.org) and [Ray](https://ray.io/) are designed to scale. Stable deployments rely on data versioning ([DVC](https://dvc.org)), experiment tracking ([MLFlow](https://mlflow.org)), and workflow automation ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) and [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: A streamplot made in matplotlib + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: A scatter-plot graph made in ggpy + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: A box-plot made in plotly + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + content: + - + text: NumPy is an essential component in the burgeoning [Python visualization landscape](https://pyviz.org/overviews/index.html), which includes [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://napari.org/), and [PyVista](https://docs.pyvista.org/), to name a few. + - + text: NumPy's accelerated processing of large arrays allows researchers to visualize datasets far larger than native Python could handle. diff --git a/content/ru/teams/index.md b/content/ru/teams/index.md new file mode 100644 index 0000000000..1baaaa35ab --- /dev/null +++ b/content/ru/teams/index.md @@ -0,0 +1,36 @@ +--- +title: NumPy Teams +sidebar: false +--- + +We are an international team on a mission to support scientific and research +communities worldwide by building quality, open-source software. +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# Governance + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/ru/user-survey-2020.md b/content/ru/user-survey-2020.md new file mode 100644 index 0000000000..b4349bcb7d --- /dev/null +++ b/content/ru/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: 2020 NUMPY COMMUNITY SURVEY +sidebar: false +--- + +In 2020, the NumPy survey team in partnership with students and faculty from a Master’s course in Survey Methodology jointly hosted by the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Over 1,200 users from 75 countries participated to help us map out a landscape of the NumPy community and voiced their thoughts about the future of the project. + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 NumPy user survey report, titled "NumPy Community Survey 2020 - results"' width = '250' +{{< /figure >}} + +**[Download the report](/surveys/NumPy_usersurvey_2020_report.pdf)** to take a closer look at the survey findings. + + +For the highlights, check out **[this infographic](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**. + +Ready for a deep dive? Visit **https://numpy.org/user-survey-2020-details/**. + diff --git a/content/ru/user-surveys.md b/content/ru/user-surveys.md new file mode 100644 index 0000000000..89a2aa0460 --- /dev/null +++ b/content/ru/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: NUMPY USER SURVEYS +sidebar: false +--- + +**2020** The NumPy survey team in partnership with students and faculty from the University of Michigan and the University of Maryland conducted the first official NumPy community survey. Find the survey results [here](https://numpy.org/user-survey-2020/). + +**2021** The collected data is currently being analyzed. + +If you have any questions or suggestions for the past or future surveys, please open an issue [here](https://github.com/numpy/numpy-surveys/issues). diff --git a/content/zh/404.md b/content/zh/404.md new file mode 100644 index 0000000000..0f27a36ee9 --- /dev/null +++ b/content/zh/404.md @@ -0,0 +1,8 @@ +--- +title: 404 +sidebar: false +--- + +抱歉······ 目标网页并不存在。 + +如果您认为这个页面应该展示些什么东西,请在 GitHub 上面 [发起一个 issue](https://github.com/numpy/numpy.org/issues). diff --git a/content/zh/_index.md b/content/zh/_index.md new file mode 100644 index 0000000000..be88f9e642 --- /dev/null +++ b/content/zh/_index.md @@ -0,0 +1,49 @@ +--- +title: null +--- + +{{< grid columns="1 2 2 3" >}} + +[[item]] +type = 'card' +title = 'Powerful N-dimensional arrays' +body = ''' +Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. +''' + +[[item]] +type = 'card' +title = 'Numerical computing tools' +body = ''' +NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. +''' + +[[item]] +type = 'card' +title = 'Open source' +body = ''' +Distributed under a liberal [BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt), NumPy is developed and maintained [publicly on GitHub](https://github.com/numpy/numpy) by a vibrant, responsive, and diverse [community](/community). +''' + +[[item]] +type = 'card' +title = 'Interoperable' +body = ''' +NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. +''' + +[[item]] +type = 'card' +title = 'Performant' +body = ''' +The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. +''' + +[[item]] +type = 'card' +title = 'Easy to use' +body = ''' +NumPy's high level syntax makes it accessible and productive for programmers from any background or experience level. +''' + +{{< /grid>}} diff --git a/content/zh/about.md b/content/zh/about.md new file mode 100644 index 0000000000..ba7c2c4262 --- /dev/null +++ b/content/zh/about.md @@ -0,0 +1,90 @@ +--- +title: About Us +sidebar: false +--- + +NumPy is an open source project that enables numerical computing with Python. It was created in 2005 building on the early work of the Numeric and Numarray libraries. NumPy will always be 100% open source software and free for all to use. It is released under the liberal terms of the [modified BSD license](https://github.com/numpy/numpy/blob/main/LICENSE.txt). + +经过 Numpy 和 Python 科学计算社区协商讨论,最终决定将 Numpy 在 GitHub 上开源。 想要了解更多与社区治理有关的信息,请参阅我们的[治理文件](https://www.numpy.org/devdocs/dev/governance/index.html)。 + + +## 指导委员会 + +The NumPy Steering Council is the project's governing body. Its role is to ensure, through working with and serving the broader NumPy community, the long-term sustainability of the project, both as a software package and community. The NumPy Steering Council currently consists of the following members (in alphabetical order, by last name): + +- Sebastian Berg +- Ralf Gommers +- Charles Harris +- Stephan Hoyer +- Inessa Pawson +- Matti Picus +- Stéfan van der Walt +- Melissa Weber Mendonça +- Eric Wieser + +荣誉会员: + +- Alex Griffing(2015-2017年) +- Allan Haldane (2015-2021) +- Marten van Kerkwijk (2017-2019年) +- Travis Oliphant(项目创始人,2005-2012年) +- Nathaniel Smith (2012-2021) +- Julian Taylor (2013-2021) +- Jaime Fernández del Río (2014-2021) +- Pauli Virtanen (2008-2021) + +To contact the NumPy Steering Council, please email numpy-team@googlegroups.com. + +## 团队 + +The NumPy project leadership is actively working on diversifying contribution pathways to the project.
NumPy currently has the following teams: + +- development +- 文档 +- 分类 +- 网站 +- 调查 +- translations +- sprint mentors +- optimization +- 资金和赠款 + +See the [Team](/teams) page for more info. + +## NumFOCUS小组委员会 + +- Charles Harris +- Ralf Gommers +- Inessa Pawson +- Sebastian Berg +- 外部成员:Thomas Caswell + +## 赞助商 + +NumPy 直接从下列来源获得资金: +{{< sponsors >}} + + +## 机构合作伙伴 + +机构合作伙伴指那些通过雇用为 NumPy 做贡献的人来支持该项目的组织。 目前的机构伙伴包括: + +- UC Berkeley (Stéfan van der Walt) +- Quansight (Nathan Goldbaum, Ralf Gommers, Matti Picus, Melissa Weber Mendonça) +- NVIDIA (Sebastian Berg) + +{{< partners >}} + + +## 捐赠 + +如果您发现 NumPy 对您的工作、研究或公司有用,请考虑向该项目发起捐款。 任何金额都有帮助! 所有捐款将严格用于 NumPy 开源软件、文档和社区的开发。 + +NumPy 是美国 501(c)(3) 非营利慈善机构 NumFOCUS 的一个赞助项目。 NumFOCUS 向 NumPy 提供财政、法律和行政支助,帮助确保该项目的健康和可持续性。 访问 [numfocus.org](https://numfocus.org) 获取更多信息。 + +对 NumPy 的捐赠将由 [NumFOCUS](https://numfocus.org) 进行管理。 对于在美国的捐赠者,在法律规定的范围内,你的赠品可以免税。 如同任何捐赠一样,您应该与您的税务顾问商讨您的特定税务状况。 + +NumPy 指导委员会将就如何最佳利用收到的任何资金作出决定。 技术和基础设施相关的优先事项已记录在 [NumPy 路线图](https://www.numpy.org/neps/index.html#roadmap) 上。 + +{{}} + diff --git a/content/zh/arraycomputing.md b/content/zh/arraycomputing.md new file mode 100644 index 0000000000..09dd3ab2fc --- /dev/null +++ b/content/zh/arraycomputing.md @@ -0,0 +1,21 @@ +--- +title: 数组计算 +sidebar: false +--- + +*数组计算是统计学、数学和当代数据科学及应用(如数据可视化、数字信号处理、图像处理、生物信息学、机器学习、AI等) 中的科学计算领域的基础。* + +大规模数据操作和转换取决于高效率高性能的数组计算。 数据分析、机器学习和数值计算首选的语言是 **Python**。 + +NumPy 是 Python 语言中支持大型、多维数组和矩阵计算、并附有大量高级数学功能的默认标准库。 + +自2006年NumPy推出以来,Pandas于2008年出现,直到几年前,更多数组计算库才连续出现,充实数组计算领域。 许多这些较新库都具有类似NumPy的功能,包含较新的算法和功能,适合机器学习和人工智能应用。 + +arraycl + +**数组计算** 基于 **数组** 这一数据结构。 *数组*用于处理大量数据,使他们便于有效存储、搜索、计算和变换。 + +数组计算是 *独特*的 ,因为它需要 *同时*操作整个数据阵列。 这意味着任何数组操作应用于整个数组的每个值。 这种向量化的方法使得程序员能够对数据进行整体操作,无需使用循环操作标量,从而使代码更高效和简洁。 diff --git a/content/zh/case-studies/blackhole-image.md b/content/zh/case-studies/blackhole-image.md new file mode 100644 index 0000000000..be6ceae3ab --- /dev/null +++ b/content/zh/case-studies/blackhole-image.md @@ -0,0 +1,80 @@ +--- +title: "案例研究:人类有史以来首张黑洞照片" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/blackhole.jpg' title = 'Black Hole M87' alt = 'black hole image' attribution = '(Image Credits: Event Horizon Telescope Collaboration)' attributionlink = 'https://www.jpl.nasa.gov/images/universe/20190410/blackhole20190410.jpg' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="Katie Bouman, *Assistant Professor, Computing & Mathematical Sciences, Caltech*" +> }} Imaging the M87 Black Hole is like trying to see something that is by definition impossible to see. +> +> {{< /blockquote >}} + +## 一架和地球大小相当的望远镜 + +[事件视界望远镜(EHT)](https://eventhorizontelescope.org) 是由八个地面射电望远镜组成的虚拟的类似地球大小的望远镜, 具有前所未有的敏感度和分辨率来了解宇宙。 这台巨大的虚拟望远镜使用一种称为超长基线干涉法 (VLBI)的技术, 其角分辨率为 [20 微弧秒][resolution] - EHT的分辨本领相当于从巴黎的一家人行道上的咖啡馆里阅读纽约的报纸! + +### 关键目标和成果 + +* **关于宇宙的新观点:** 100年前,当 [亚瑟.爱丁顿爵士][eddington] 提出爱因斯坦的广义相对论的第一个观测证据时,就为EHT的开创性形象奠定了基础. + +* **黑洞成像:** EHT 在距离地球约5500万光年的超大质量黑洞上进行了训练,该黑洞位于处女座星系团梅西埃87(M87) 的中心。 它的质量是太阳的65亿倍。 它已经被研究了 [100多年](https://www.jpl.nasa.gov/news/news.php?feature=7385),但从来没有一个黑洞被真正“看见”过。 + +* **将观察结果与理论进行比较:** 从爱因斯坦的广义相对论来看, 科学家期望找到由引力弯曲和光捕获引发的阴影状区域。 科学家可以用它来测量黑洞的巨大质量。 + +### 面临的挑战 + +* **庞大的计算规模** + + EHT带来了巨大的数据处理挑战,其中包括快速的大气层相位波动、极高的记录带宽以及相异且地理位置分散的望远镜。 + +* **巨大的信息量** + + EHT每天生成超过350TB的观测值,这些数据存储在充满氦气的硬盘驱动器中。 减少这么多数据的数量和复杂性是极其困难的。 + +* **对未知的探索** + + 当目标是看到前所未见的事物时,科学家怎么才能确定图像是正确的? + +{{< figure >}} +src = '/images/content_images/cs/dataprocessbh.png' title = 'EHT Data Processing Pipeline' alt = 'data pipeline' align = 'center' attribution = '(Diagram Credits: The Astrophysical Journal, Event Horizon Telescope Collaboration)' attributionlink = 'https://iopscience.iop.org/article/10.3847/2041-8213/ab0c57' +{{< /figure >}} + +## Numpy的角色 + +如果数据有问题,怎么办? 或者一个算法过于依赖某个特定的假设。 如果单个参数被更改,图像是否会发生剧烈变化? + +EHT协作组织为了应对上述挑战,让不同的独立小组使用现有的最先进的图像重建技术来评估数据。 当结果被证明是一致时,将这些结果合并以产生黑洞的第一张图像。 + +他们的工作说明了Python科学生态系统通过协作数据分析在 推进科学方面发挥的重要作用。 + +{{< figure >}} +src = '/images/content_images/cs/bh_numpy_role.png' alt = 'role of numpy' title = 'The role of NumPy in Black Hole imaging' +{{< /figure >}} + +例如, [`eht-imaging`][ehtim] 这个Python 软件包提供了 在 VLBI 数据上模拟和执行图像重建的工具。 NumPy 是这个包中使用的数组数据处理的核心,下面的部分软件 依赖关系图说明了这一点。 + +{{< figure >}} +src = '/images/content_images/cs/ehtim_numpy.png' alt = 'ehtim dependency map highlighting numpy' title = 'Software dependency chart of ehtim package highlighting NumPy' +{{< /figure >}} + +除了NumPy以外,许多其他软件包,例如 [SciPy](https://www.scipy.org) 和 [Pandas](https://pandas.io), 也是用于黑洞成像的数据处理管道的一部分。 标准天文学文件格式和时间/坐标转换 由 [Astropy][astropy]处理, 而 [Matplotlib][mpl] 被用于在整个分析管道中的数据可视化,包括生成黑洞的最终图像。 + +## 总结 + +作为Numpy的核心功能,高效且拓展性强的N维数组使研究人员能够操作大规模数据集,从而为人类有史以来首张黑洞的成像提供坚实基础。 这是整个科学史中具有里程碑意义的时刻,它为爱因斯坦的理论提供了有力的佐证。 这项成就不仅包括技术突破,还见证了包括200多位科学家与世界上最好的无线电观测站之间的国际合作。 创新的算法和数据处理技术改进了现有的天文模型,帮助我们揭开宇宙的神秘面纱。 + +{{< figure >}} +src = '/images/content_images/cs/numpy_bh_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[resolution]: https://eventhorizontelescope.org/press-release-april-10-2019-astronomers-capture-first-image-black-hole + +[eddington]: https://en.wikipedia.org/wiki/Eddington_experiment + +[ehtim]: https://github.com/achael/eht-imaging + +[astropy]: https://www.astropy.org/ +[mpl]: https://matplotlib.org/ diff --git a/content/zh/case-studies/cricket-analytics.md b/content/zh/case-studies/cricket-analytics.md new file mode 100644 index 0000000000..83bcc1c498 --- /dev/null +++ b/content/zh/case-studies/cricket-analytics.md @@ -0,0 +1,72 @@ +--- +title: "案例研究:通过数据分析玩转板球!" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/ipl-stadium.png' title = 'IPLT20, the biggest Cricket Festival in India' alt = 'Indian Premier League Cricket cup and stadium' attribution = '(Image credits: IPLT20 (cup and logo) & Akash Yadav (stadium))' attributionlink = 'https://unsplash.com/@aksh1802' +{{< /figure >}} + +{{< blockquote cite="https://www.scoopwhoop.com/sports/ms-dhoni/" by="M S Dhoni, *International Cricket Player, ex-captain, Indian Team, plays for Chennai Super Kings in IPL*" +> }} You don't play for the crowd, you play for the country. +> +> {{< /blockquote >}} + +## 关于板球 + +印度人喜欢板球几乎人尽皆知。 这个游戏几乎在印度的任何角落都可以玩,无论是农村还是城市,与其它任何运动项目相比,只有板球可以轻松连接印度的数十亿年轻人和老年人。 板球受到了媒体的广泛关注。 无数 [金钱](https://www.statista.com/topics/4543/indian-premier-league-ipl/) 和 荣誉都压宝在这项运动上。 在过去的几年中,数据技术分析确实成为了运动场上的常胜将军。 流媒体、锦标赛、在移动设备上实时的观看板球等形式让不同观众的观看欲望得到最大满足。 + +印度超级联赛(IPL) 是成立于2008年的Twenty20板球职业联赛。 它是世界上参与人数最多的板球赛事之一,2019年价值为 [67亿美元](https://en.wikipedia.org/wiki/Indian_Premier_League) 。 + +板球本质上是关于数字的游戏-击球方的跑动得分,投球手击中门柱的次数,板球队赢得回合的次数,击球手以特定方式还击的次数等等。 借助类似Numpy等功能强大的数值计算分析软件,可以充分挖掘板球得分背后的原理,并对板球的商业化、市场化和经济效益提供重要的参考价值。 板球数据分析为比赛提供了独特的视角,并提供了有关比赛结果的智能预测。 + +时至今日,板球比赛的记录和统计数据非常丰富,几乎无穷无尽。例如[ESPN cricinfo](https://stats.espncricinfo.com/ci/engine/stats/index.html) 和 [cricsheet](https://cricsheet.org)。 这些板球数据库使用最新的机器学习和预测建模算法来进行 [板球分析](https://www.researchgate.net/publication/336886516_Data_visualization_and_toss_related_analysis_of_IPL_teams_and_batsmen_performances)。 媒体和娱乐平台以及与游戏相关联的专业体育机构使用技术分析来确定关键指标,以提高比赛获胜机率: + +* 击球时跑动步数均值的表现 +* 分数预测 +* 深入了解球员在面对不同对手时的身体表现状况 +* 在团队组成的决策过程中考察球员对比赛输赢的贡献值 + +{{< figure >}} +src = '/images/content_images/cs/cricket-pitch.png' title = 'Cricket Pitch, the focal point in the field' alt = 'A cricket pitch with bowler and batsmen' align = 'center' attribution = '(Image credit: Debarghya Das)' attributionlink = 'http://debarghyadas.com/files/IPLpaper.pdf' +{{< /figure >}} + +### 关键数据分析目标 + +* 运动数据分析不仅用于板球运动,还适用于 [其它运动](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx) 中,以改善团队的整体表现并最大程度的提高获胜机会。 +* 实时数据分析甚至可以在比赛过程中帮助提高洞察力,从而使团队和相关投资方改变比赛策略以获取更高的经济效益。 +* 除了历史数据分析之外,预测模型也被使用来确定可能的比赛结果,这些结果需要大量的数值处理和数据科学专业知识, 可视化工具以及在分析中增加新观察项的能力。 + +{{< figure >}} +src = '/images/content_images/cs/player-pose-estimator.png' alt = 'pose estimator' title = 'Cricket Pose Estimator' attribution = '(Image credit: connect.vin)' attributionlink = 'https://connect.vin/2019/05/ai-for-cricket-batsman-pose-analysis/' +{{< /figure >}} + +### 面临的挑战 + +* **数据清理和预处理** + + IPL已经将板球运动从经典的测试赛扩展到更广的比赛形式。 每个赛季各种形式的比赛场次都有所增加,相应的数据规模、新算法、新的数据分析技术和模拟模型也有所增加。 板球数据分析需要对现场数据进行全方位跟踪,包括球员追踪、球的追踪、球员击球数据分析以及与如何传递球、球的角度、旋转、速度和轨迹有关的方面。 所有这些因素共同增加了数据清理和预处理的复杂性。 + +* **数据动态建模** + + 在板球运动中,就像任何其他体育运动一样,可能存在大量的变量,这些变量包括跟踪球场上各种球员的状态、球员的属性、球本身以及球员多种可能的潜在动作。 数据分析和建模的复杂性与分析过程中提出的预测问题的种类成正比,并且高度依赖数据表示和模型建模能力。 在要求实时动态的预测板球比赛的结果时,对计算性能、数据比对质量提出了更高的挑战,比如击球手以不同角度或速度击球对比赛结果会产生何种影响。 + +* **预测分析的复杂性** + + 板球比赛中的很多决定大都基于如下问题的答案:“针对特定类型的投球手,击球手特殊攻击的频率是多少”或者“如果击球手发动特殊攻击的话,投球手会如何改变他的投球位和投球距离”。 这些预测性分析的答案需要高精度且可用的数据集以及合成数据和构建高精度模型的能力。 + +## NumPy在板球数据分析中的角色 + +体育分析是一个蓬勃发展的领域。 除了使用最新的机器学习和AI技术之外,许多研究人员和公司[使用Numpy](https://adtmag.com/blogs/dev-watch/2017/07/sports-analytics.aspx)和其它Python数据处理包,例如Scikit-learn, SciPy, Matplotlib和Jupyter。 Numpy已用于各种与板球相关的体育分析中,例如: + +* **统计分析:** NumPy的数值计算功能有助于在各种球员和比赛策略下估算观察数据或比赛事件的统计意义,并通过与生成模型或静态模型进行比较来预测比赛结果。 [因果分析](https://amplitude.com/blog/2017/01/19/causation-correlation) 和 [大数据分析](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4996805/) 就常用于战术分析。 + +* **数据可视化:** 数据图形化和 [可视化](https://towardsdatascience.com/advanced-sports-visualization-with-pandas-matplotlib-and-seaborn-9c16df80a81b) 对各种数据集之间的关系提供了有价值的见解。 + +## 总结 + +在专业赛事中,特别是需要战略决策的比赛,运动数据分析常常能起到力挽狂澜的效果,哪怕是现在,主要还是依赖“勇气和直觉”或对过去传统的经验来完成分析。 NumPy为大量的 Python 软件包奠定了坚实的基础,这些软件包提供了与数据分析, 机器学习和AI算法相关的更高层级的函数。 这些软件包被广泛应用以获取实时赛况的分析,从而有助于在现场做出最有利于自己的决策,实现在板球比赛过程中的商业利益最大化。 找出影响板球比赛结果的隐藏参数、模式和属性,有助于投资方获得隐藏在数字和统计数据背后的比赛洞察力。 + +{{< figure >}} +src = '/images/content_images/cs/numpy_ca_benefits.png' alt = 'Diagram showing benefits of using NumPy for cricket analytics' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/zh/case-studies/deeplabcut-dnn.md b/content/zh/case-studies/deeplabcut-dnn.md new file mode 100644 index 0000000000..fd72bf7471 --- /dev/null +++ b/content/zh/case-studies/deeplabcut-dnn.md @@ -0,0 +1,102 @@ +--- +title: "案例研究:使用DeepLabCut预测动物行为" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/mice-hand.gif' title = 'Analyzing mice hand-movement using DeepLapCut' alt = 'micehandanim' attribution = '(Source: www.deeplabcut.org )' attributionlink = 'http://www.mousemotorlab.org/deeplabcut' +{{< /figure >}} + +{{< blockquote cite="https://news.harvard.edu/gazette/story/newsplus/harvard-researchers-awarded-czi-open-source-award/" by="Alexander Mathis, *Assistant Professor, École polytechnique fédérale de Lausanne* ([EPFL](https://www.epfl.ch/en/))" +> }} Open Source Software is accelerating Biomedicine. DeepLabCut能够使用深度学习对动物行为进行自动视频分析。 +> +> {{< /blockquote >}} + +## 关于 DeepLabCut + +[DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) 是一个开放源码工具箱,它使世界各地数以百计的研究人员能够在训练数据非常少的情况下跟踪实验室动物的行为,而且能达到人类水平的准确性。 借助DeepLabCut技术,科学家可以更深入更科学地了解不同动物在不同时间段对运动的控制和表现行为。 + +包括神经科学、医学和生物力学在内的若干研究领域都使用了跟踪动物运动的数据。 DeepLabCut通过解析电影上记录的动作,帮助了解人类和其他动物行为背后的内涵。 DeepLabCut将标记和监测的繁重工作自动化,同时进行基于神经网络的深度数据分析,使得涉及观察例如灵长类动物、小鼠、鱼类和苍蝇等动物行为的科学研究更快、更准确。 + +{{< figure >}} +src = '/images/content_images/cs/race-horse.gif' title = 'Colored dots track the positions of a racehorse’s body part' alt = 'horserideranim' attribution = '(Source: Mackenzie Mathis)' +{{< /figure >}} + +对于生物力学、遗传学、人类学和神经科学等领域的科学研究来说,DeepLabCut通过非侵入式手段提取动物姿势至关重要。 无论从技术层面还是从庞大的资源需求和训练集来看,不带标记非侵入式的从视频中检测动物的姿势,预测动物在动态变化背景下的行为表现对计算机都极具挑战。 + +DeepLabCut使研究人员能够通过基于 Python 的软件工具包有效地估计该实验对象的姿势,使他们能够对实验对象的行为进行量化。 借助DeepLabCut,研究人员可以从视频中识别出不同的帧,并使用量身定制的GUI数字标记数十个帧中的特定身体部位,然后DeepLabCut中基于深度学习的姿势估计架构将学习如何从剩余视频或类似动物行为的视频中提取出相同的特征。 这种方法适用于各种动物,从常见的苍蝇和老鼠等实验室动物到不常见到的[猎豹][cheetah-movement]等动物。 + +DeepLabCut使用一种称为 [转移学习](https://arxiv.org/pdf/1909.11229)的原理,大大减少了所需训练数据的规模,并加快了训练周期的收敛速度。 根据不同需求,用户可以选择不同的网络结构来获得更高性能的推理模型(例如MobileNetV2),也可以将其与实时的实验反馈相结合。 DeepLabCut最初使用了一个名为[DeeperCut](https://arxiv.org/abs/1605.03170)的高性能人物姿势评估特征探测器, 这也是DeepLabCut这个名字的由来。 现在这套软件已经作了重大更新,包含支持更多架构、算子规模的扩大和全面的前端用户体验提升。 此外, 为了支持大规模生物实验,DeepLabCut提供了主动学习的能力,因此用户可以随着时间的推移增加训练集以覆盖边缘用例,并使他们的姿势估计算法在特定场景下变的更加强大。 + +最近,引入了 [DeepLabCut model zoo](http://www.mousemotorlab.org/dlc-modelzoo) ,它为不同物种和不同实验条件提供预训练的模型,从灵长类动物的面部分析到狗的姿势。 有了modelzoo之后,模型就可以在云端运行,而且不用给新数据贴上任何标签,也不需要神经网络训练,也不需要任何编程经验。 + +### 关键目标和成果 + +* **对动物行为进行自动化分析以供科学研究:** + + DeepLabCut技术的主要目标是在各种环境下测量和跟踪动物的姿势。 这些数据大有用处,比如可以用于神经科学研究以了解大脑是如何控制运动的,或者阐明动物是如何进行社交互动的。 研究人员观察到DeepLabCut的 [性能提升了10倍](https://www.biorxiv.org/content/10.1101/457242v1)。 可以在单机状态下以每秒1200多帧(FPS) 的速度推断出动物姿态。 + +* **创建一个易于使用的 Python 工具包用于姿态估计:** + + DeepLabCut想要以易于使用的工具的形式共享其动物姿态估计技术,使得研究人员可以轻松上手。 因此这个Python工具箱甚至包含有项目管理的功能。 通过帮助使用DeepLabCut工具集的用户打通从数据收集阶段到创建可共享可重用的数据分析流程,这样不仅实现了姿态估计的自动化,而且可以端到端的管理整个项目。 + + 他们的 [工具包][DLCToolkit] 现在已经完全开源了。 + + 典型的DeepLabCut 工作流包括: + + - 通过主动学习创建和完善训练集 + - 针对特定动物和场景创建量身定制的神经网络 + - 从视频中得到大规模推理所需的代码 + - 使用集成的可视化工具得出结论 + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-toolkit-steps.png' title = 'Pose estimation steps with DeepLabCut' alt = 'dlcsteps' align = 'center' attribution = '(Source: DeepLabCut)' attributionlink = 'https://twitter.com/DeepLabCut/status/1198046918284210176/photo/1' +{{< /figure >}} + +### 面临的挑战 + +* **性能** + + 在快速处理动物行为视频以测量其行为的同时提高科学实验的效率和精度。 无论从技术层面还是从庞大的资源需求和训练集来看,不带标记非侵入式的从视频中检测动物的姿势,预测动物在动态变化背景下的行为表现对计算性能都极具挑战。 需要提出一种易于使用的工具,但不依赖诸如计算机科学家的专业知识,也不需要在近乎真实的环境中进行研究,要达成这个目标不是一件容易的事儿。 + +* **组合学** + + 组合学涉及到将多个肢体的运动姿势组装并整合到单个动物的行为中去。 将关键姿态及其联系与个体动物不同时段的不同动作整合起来是一个复杂的过程,需要进行繁琐的数值分析,尤其是在实验视频中捕捉多个动物行为的情况下。 + +* **数据处理** + + 最后一点但是并非不重要的一点是对数组的处理-处理与各种图像、目标张量和关键点相对应的大型数组具有相当大的挑战性。 + +{{< figure >}} +src = '/images/content_images/cs/pose-estimation.png' title = 'Pose estimation variety and complexity' alt = 'challengesfig' align = 'center' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.biorxiv.org/content/10.1101/476531v1.full.pdf' +{{< /figure >}} + +## Numpy在应对姿态估计挑战中的角色 + +NumPy 解决了DeepLabCut技术对行为分析进行高性能数值计算的核心需求。 除了NumPy, DeepLabCut 还使用 各种以 NumPy 为核心的 Python 软件, 例如 [SciPy](https://www.scipy.org), [Pandas](https://pandas.pydata.org), [matplotlib](https://matplotlib.org), [tensorpack](https://github.com/tensorpack/tensorpack), [imgig](https://github.com/aleju/imgaug), [sikit-learning](https://scikit-learn.org/stable/), [scikit-image](https://scikit-image.org) 和 [Tensorflow](https://www.tensorflow.org) + +NumPy 的以下功能在图像处理、组合计算和高性能DeepLabCut 姿态预测算法等方面发挥了关键作用。 + +* 向量化 +* Mask数组操作 +* 线性代数 +* 随机采样 +* 大规模矩阵变形 + +DeepLabCut在工具包提供的整个工作流中都使用了NumPy 数组。 需要特别指出的是,为了方便手工注释标注,以及便于编写、编辑和处理这些标注,Numpy被广泛应用于对不同的图像帧进行采样。 DeepLabCut对TensorFlow中的神经网络进行了成千上万次迭代训练,以预测图像 帧中注释的准确性。 为了达成这个目标,需要创建一个目标分布图(得分地图) 将姿态预测问题投射为图像之间变换的问题。 采用数据增强技术可以让神经网络变的更健壮,这就需要对遵循各种几何和图像处理流程的目标积分图进行计算。 为了加快训练速度,NumPy 的向量化功能会被充分利用起来。 在推理阶段,目标积分图中最可能的预测结果会被提取出来,然后就可以有效地“将预测结果映射到某种具体的动物”。 + +{{< figure >}} +src = '/images/content_images/cs/deeplabcut-workflow.png' title = 'DeepLabCut Workflow' alt = 'workflow' attribution = '(Source: Mackenzie Mathis)' attributionlink = 'https://www.researchgate.net/figure/DeepLabCut-work-flow-The-diagram-delineates-the-work-flow-as-well-as-the-directory-and_fig1_329185962' +{{< /figure >}} + +## 总结 + +对行为进行精确的观测和高效的描述是现代伦理学、神经科学、医学和技术的核心内容。 [DeepLabCut](http://orga.cvss.cc/wp-content/uploads/2019/05/NathMathis2019.pdf) 让研究人员预测实验对象的行为成为可能,从而高效量化动物行为。 DeepLabCut Python工具箱仅需少量训练图像就可以将神经网络训练达到人类水平的标注准确性,因此它的应用范围绝不局限于实验室的行为分析,而且还可以拓展到运动、步态分析、医学和康复研究中。 通过操作Numpy数组,可以解决DeepLabCut算法面临的复杂组合计算和数据处理难题。 + +{{< figure >}} +src = '/images/content_images/cs/numpy_dlc_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} + +[cheetah-movement]: https://www. technologynetworks. com/neuroscience/articles/interview-a-deeper-cut-into-behavior-with-mackenzie-mathis-327618 + +[DLCToolkit]: https://github.com/DeepLabCut/DeepLabCut diff --git a/content/zh/case-studies/gw-discov.md b/content/zh/case-studies/gw-discov.md new file mode 100644 index 0000000000..1990e7744f --- /dev/null +++ b/content/zh/case-studies/gw-discov.md @@ -0,0 +1,77 @@ +--- +title: "案例研究:发现引力波" +sidebar: false +--- + +{{< figure >}} +src = '/images/content_images/cs/gw_sxs_image.png' title = 'Gravitational Waves' alt = 'binary coalesce black hole generating gravitational waves' attribution = '(Image Credits: The Simulating eXtreme Spacetimes (SXS) Project at LIGO)' attributionlink = 'https://youtu.be/Zt8Z_uzG71o' +{{< /figure >}} + +{{< blockquote cite="https://www.youtube.com/watch?v=BIvezCVcsYs" by="David Shoemaker, *LIGO Scientific Collaboration*" >}} The scientific Python ecosystem is critical infrastructure for the research done at LIGO. +{{< /blockquote >}} + +## 关于 [引力波](https://www.nationalgeographic.com/news/2017/10/what-are-gravitational-waves-ligo-astronomy-science/) and [LIGO](https://www.ligo.caltech.edu) + +引力波是空间和时间结构中的涟漪。由宇宙中的灾难性事件产生,例如两个黑洞的碰撞和合并或双星或超新星的合并。 观测引力波不仅有助于研究引力,而且有助于了解遥远宇宙中一些不为人知的现象及其影响。 + +[激光干涉引力波天文台(LIGO)](https://www.ligo.caltech.edu)旨在通过直接探测爱因斯坦广义相对论预测的引力波来打开引力波天体物理学领域。 It comprises two widely separated interferometers within the United States — one in Hanford, Washington and the other in Livingston, Louisiana — operated in unison to detect gravitational waves. 每一个仪器都装载使用了激光干涉测量法的公里级引力波探测器。 LIGO科学计算团队(LSC) 是由来自美国各地大学和其他 14 个国家的 1000 多名科学家组成的团体,得到了 90 多所大学和研究机构的支持;大约 250 名学生积极参与项目合作。 LIGO 的新发现是关于对引力波本身的首次观测,通过测量引力波在穿过地球时对空间和时间造成的微小扰动而制成。 它开辟了新的天体物理学研究方向,致力于探索宇宙扭曲的一面—研究由扭曲的时空构成的物体和现象。 + + +### 关键目标 + +* 虽然它的 [任务](https://www.ligo.caltech.edu/page/what-is-ligo) 是探测宇宙中反应最剧烈和能量最集中的区域产生的引力波,但 LIGO 收集的数据可能会对物理学的许多领域产生深远的影响,包括引力、相对论、天体物理学、宇宙学、粒子物理学和核物理。 +* 通过涉及复杂数学的数值相对论来计算和处理观测数据,以便从噪声中辨别信号、滤除相关信号并统计估计观测数据的重要性。 +* 数据可视化,以便可以理解二进制/数值结果。 + + + +### 面临的挑战 + +* **计算** + + 引力波很难被探测到,因为它们产生的影响非常小,与物质的相互作用也很小。 处理和分析 LIGO 的所有数据需要庞大的计算基础设施。在处理数十亿倍于引力波信号的噪声后,仍然需要使用非常复杂的相对论方程来处理海量数据,这带来了计算挑战: [二进制合并分析需要花费O(10^ 7) 级别的 CPU 小时数](https://youtu.be/7mcHknWWzNI)才能完成,这些计算过程由 6 个专用 LIGO 集群分摊解决。 + +* **数据泛滥** + + 随着观测设备变得更加敏感和可靠,数据泛滥和大海捞针所带来的挑战成倍增加。 LIGO 每天生成数 TB 的数据! 每一次检测之后要理解这些数据都要付出巨大的努力。 例如,LIGO 收集的信号必须由超级计算机与数十万个可能的引力波特征模板进行匹配。 + +* **可视化** + + 一旦解决了理解爱因斯坦方程以及使用超级计算机求解这些方程相关的障碍,下一个重大挑战就是使人脑能够理解数据。 仿真建模以及信号检测需要有效的可视化技术。 在纯科学爱好者的眼中,可视化在为数值相对论提供更多可信度方面也发挥了作用,在成像和模拟使更多人更容易理解结果之前,他们并没有对数值相对论给予足够的重视。 使用最新的实验输入和见解来加快复杂计算和渲染、重新渲染图像和模拟的速度可能是一项耗时的活动,给该领域的研究人员带来严峻挑战。 + +{{< figure >}} +src = '/images/content_images/cs/gw_strain_amplitude.png' alt = 'gravitational waves strain amplitude' title = 'Estimated gravitational-wave strain amplitude from GW150914' attribution = '(Graph Credits: Observation of Gravitational Waves from a Binary Black Hole Merger, ResearchGate Publication)' attributionlink = 'https://www.researchgate.net/publication/293886905_Observation_of_Gravitational_Waves_from_a_Binary_Black_Hole_Merger' +{{< /figure >}} + +## Numpy 在引力波检测中的作用 + +除了使用超级计算机暴力计算数值相对论之外,目前还无法使用任何其它技术计算黑洞合并发出的引力波。 LIGO 收集的数据量之大,就像无比微弱的引力波信号一样,令人难以置信。 + +NumPy 是 Python 的标准数值分析包,被用于 LIGO GW 检测项目期间执行的各种任务的软件所使用。 NumPy 有助于高性能处理复杂的数学问题和数据操作。 这里有一些例子: + +* [信号处理](https://www.uv.es/virgogroup/Denoising_ROF.html): 毛刺检测, [噪音识别和数据表征](https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf) (NumPy, scikit-learn, scipy, matplab, pandas, pyCharm) +* 数据检索:决定哪些数据可以用于分析,确定它是否包含信号—犹如大海捞针 +* 统计分析:估计观测数据的统计显著性,通过与模型比较来估计信号参数(如恒星质量、自旋速度和距离)。 +* 数据可视化 + - 时间序列 + - 频谱图 +* 计算相关性 +* 在GW 数据分析中开发的关键 [软件](https://github.com/lscsoft) 例如: [GwPy](https://gwpy.github.io/docs/stable/overview.html) 和 [PyCBC](https://pycbc.org) 使用 NumPy 和 AstroPy 为实用程序、工具和方法提供基于对象的接口,用于研究来自引力波探测器的数据。 + +{{< figure >}} +src = '/images/content_images/cs/gwpy-numpy-dep-graph.png' alt = 'gwpy-numpy depgraph' title = 'Dependency graph showing how GwPy package depends on NumPy' +{{< /figure >}} + +---- + +{{< figure >}} +src = '/images/content_images/cs/PyCBC-numpy-dep-graph.png' alt = 'PyCBC-numpy depgraph' title = 'Dependency graph showing how PyCBC package depends on NumPy' +{{< /figure >}} + +## 总结 + +GW 探测使研究人员能够发现完全出乎意料的现象,同时为许多已知的最深刻的天体物理现象提供了新的见解。 数学运算和数据可视化是帮助科学家深入了解从科学观察中收集到的数据并理解结果的关键步骤。 计算是复杂的,除非使用计算机模拟进行可视化,并提供真实的观察数据和分析,否则人类无法理解。 NumPy 与其他 Python 包(例如 matplotlib、pandas 和 scikit-learn)一起[使研究人员](https://www.gw-openscience.org/events/GW150914/)能够回答复杂的问题并开拓我们理解宇宙的新视角。 + +{{< figure >}} +src = '/images/content_images/cs/numpy_gw_benefits.png' alt = 'numpy benefits' title = 'Key NumPy Capabilities utilized' +{{< /figure >}} diff --git a/content/zh/citing-numpy.md b/content/zh/citing-numpy.md new file mode 100644 index 0000000000..a5db3deb31 --- /dev/null +++ b/content/zh/citing-numpy.md @@ -0,0 +1,35 @@ +--- +title: 引用 NumPy +sidebar: false +--- + +如果 NumPy 在您的研究中很重要, 您想在您的学术出版物中致谢这个项目,我们建议您引用以下论文: + +* Harris, C.R., Millman, K.J., van der Walt, S.J. et al. _Array programming with NumPy_. Nature 585, 357–362 (2020). DOI: [10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2). ([Publisher link](https://www.nature.com/articles/s41586-020-2649-2)). + +_BibTeX 格式:_ + + ``` +@Article{ harris2020array, + title = {Array programming with {NumPy}}, + author = {Charles R. Harris and K. Jarrod Millman and St{\'{e}}fan J. + van der Walt and Ralf Gommers and Pauli Virtanen and David + Cournapeau and Eric Wieser and Julian Taylor and Sebastian + Berg and Nathaniel J. Smith and Robert Kern and Matti Picus + and Stephan Hoyer and Marten H. van Kerkwijk and Matthew + Brett and Allan Haldane and Jaime Fern{\'{a}}ndez del + R{\'{i}}o and Mark Wiebe and Pearu Peterson and Pierre + G{\'{e}}rard-Marchant and Kevin Sheppard and Tyler Reddy and + Warren Weckesser and Hameer Abbasi and Christoph Gohlke and + Travis E. Oliphant}, + year = {2020}, + month = sep, + journal = {Nature}, + volume = {585}, + number = {7825}, + pages = {357--362}, + doi = {10.1038/s41586-020-2649-2}, + publisher = {Springer Science and Business Media {LLC}}, + url = {https://doi.org/10.1038/s41586-020-2649-2} +} +``` diff --git a/content/zh/code-of-conduct.md b/content/zh/code-of-conduct.md new file mode 100644 index 0000000000..e3a813fd93 --- /dev/null +++ b/content/zh/code-of-conduct.md @@ -0,0 +1,83 @@ +--- +title: NumPy 行为守则 +sidebar: false +aliases: + - /conduct.html +--- + +### 引言 + +本行为守则适用于 NumPy 项目管理的所有网络空间,包括所有公共和私人的邮件列表、问题追踪器、 维基、 博客、 推特以及本社区使用的任何其他交流频道。 NumPy 项目不组织面对面活动。 然而,与本社区有关的活动应有一个与本社区内涵上类似的行为守则。 + +本行为守则应由每个正式或非正式参加本社区的、与项目有关的、与项目的活动有关的、特别是在代表项目时的人来遵守。 + +该守则不详尽,也不完整。 它有助于提升我们对协作、共享环境和目标的共识。 请尽量从内涵上遵循这一守则,以创造一个友好、高效益的环境来丰富有关的社区。 + +### 具体准则 + +要努力去: + +1. 敞开心扉。 我们邀请任何人参加本社区。 我们更喜欢公开交流与项目有关的信息,除非讨论某些敏感问题时。 这也适用于帮助或项目支持的信息; 向公众寻求支持帮助不仅更有可能得到对某个问题的答复, 它还能确保更容易发现和纠正任何无意中的错误。 +2. 充满热情、欢迎、友善和耐心。 我们怀着美好的意愿共同努力解决冲突。 我们都可能时不时遭受某种挫折,但我们不允许把沮丧变成个人攻击的工具。 一个让人感到不舒服或受到威胁的社区并不是一个富有成效的社区。 +3. 保持合作。 我们的工作成果将被其他人使用,反过来,我们依靠其他人的工作来进行改进。 当我们在项目中添加一些有用的功能时,我们愿意向其他人解释它是如何运作的。 这样他们就能够在这些功能的基础上进一步改善工作效率。 我们作出的任何决定都将影响到用户和开发者,因此在作出决定时必须认真考虑后果。 +4. 勤于向人请教。 没人知道所有事! 提早提问可以避免很多麻烦的发生,所以我们鼓励提问,尽管我们可能把它们引向更合适的论坛中。 我们将努力做出反应并提供帮助。 +5. 谨慎用词 我们在沟通过程中保持谨慎和尊重,我们对自己的发言负有全部责任。 善待他人。 不要侮辱或贬低其他参与者。 我们不接受骚扰或其他排斥行为,例如: + * 针对他人的暴力威胁或语言。 + * 性别、种族主义或其他歧视性笑话和语言。 + * 露骨或粗暴的素材; + * 发布(或威胁发布)他人个人身份信息(“敲诈”)。 + * 未经发件人同意分享私人内容,例如私下发送电子邮件、或发送至非公开/未登录论坛,如IRC 频道。 + * 个人侮辱,尤其是使用种族主义或性别歧视术语的侮辱。 + * 不受欢迎的性关注。 + * 过于夸张。 请避免使用骂人的话;人们对咒骂的敏感度差异很大。 + * 对他人的反复骚扰。 一般来说,如果有人要求你停止,你就要停止了。 + * 鼓吹或鼓励上述任何行为。 + +### 多样性声明 + +NumPy项目欢迎并鼓励每个人参与。 我们致力于成为一个人人都参与的共同体。 虽然我们可能并不总是能够照顾到每个人的喜好,但我们尽力善待每一个人。 + +无论你如何看待自己,也无论其他人如何看待你:我们欢迎你的参与。 虽然社区文化不可能做到包罗万象,但我们明确尊重在年龄、文化、族裔、基因、性别认同或表达、语言、民族血统、神经型、表型、政治信仰、职业、种族、宗教、性取向、社会经济地位、亚文化和技术水平等方面的多样性,在不违反本行为守则的情况下,任何人都可以参与到社区中。 + +虽然我们欢迎精通多语种的人群,但NumPy的开发是用英语进行的。 + +上面的《行为守则》详细介绍了NumPy社区的行为标准。 我们社区的参与者应在其所有互动过程中遵守这些标准,并帮助其他参与者也这样做(见下一节)。 + +### 举报指南 + +我们知道,互联网通信平台从诞生开始就演变为非常普遍的辱骂恶意中伤的场所。 我们还认识到,有时人们可能会有不愉快的时候,或不知道本行为守则中的一些准则。 在决定如何应对违反本守则的行为时,请铭记这一点。 + +关于明显故意违反行为,向行为守则委员会报告(见下文)。 对于可能无意的违规行为,您可以回复此人并指出此行为准则(无论是在公开场合还是私下场合,选择一种最合适的方式)。 如果你不愿意这样做,请随时直接向行为守则委员会汇报, 或以保密方式向委员会征求意见。 + +您可以在 numpy-conduct@googlegroups.com上向NumPy行为守则委员会报告问题。 + +目前,该委员会包含如下成员: + +* Stefan van der Walt +* Melissa Weber Mendonça +* Rohit Goswami + +如果你的举报涉及委员会的任何成员,或他们认为对举报的处理存在利益冲突, 他们将回避审议你的报告。 或者,如果你出于任何原因感到不方便向委员会提交报告, 那么您也可以通过 [conduct@numfocus.org](https://numfocus.org/code-of-conduct#persons-responsible)联系NumFOCUS高级工作人员。 + +### 事故报告决议 & 行为守则执行 + +_This section summarizes the most important points, more details can be found in_ [NumPy Code of Conduct - How to follow up on a report](report-handling-manual). + +我们将调查并答复所有指控。 NumPy行为守则委员会和NumPy指导委员会(如果涉及的话)将保护举报者的身份,并将投诉内容视为保密(除非举报人另有约定)。 + +如果发生严重和明显的违约行为,例如人身攻击和恐吓、性别或种族歧视, 我们将立即断开发起人与 NumPy 通信频道的联系;详情请参阅手册。 + +在不涉及明显严重和明显违反本行为守则行为的情况下,就收到的任何违反行为守则行为报告采取行动的程序将是: + +1. 声明已收到举报信息。 +2. 合理的讨论/反馈。 +3. 调解(如果反馈意见没有产生帮助,并且只有当举报方和被举报方都同意这样做时), +4. enforcement via transparent decision (see [Resolutions](report-handling-manual/#resolutions)) by the Code of Conduct Committee. + +委员会将尽快、至多在72小时内对任何举报作出答复。 + +### 尾注 + +我们感谢以下文件背后的团体,我们从这些文件中吸取了内容和灵感: + +- [《SciPy行为守则》](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html) diff --git a/content/zh/community.md b/content/zh/community.md new file mode 100644 index 0000000000..b029672465 --- /dev/null +++ b/content/zh/community.md @@ -0,0 +1,66 @@ +--- +title: 社区 +sidebar: false +--- + +Numby是一个社区驱动的开源项目,由一群十分多样化的[贡献者](/teams/)开发。 Numpy的领导层承诺要打造一个开放,包容,积极向上的社区。 请阅读 [ NumPy 行为准则](/code-of-conduct) 以了解如何用促进社区繁荣的方式与他人交流互动。 + +我们提供多种交流渠道,可以用来学习知识、分享您的专业见解、或是与 NumPy 社区中的其他人联系。 + + +## 线上参与 + +以下是直接参与 NumPy 项目和社区的方法。 _注意,我们鼓励用户和社区成员在使用问题上相互帮助——参阅 [获取帮助](/gethelp)。_ + + +### [NumPy 邮件列表](https://mail.python.org/mailman/listinfo/numpy-discussion) + +这个列表是较长形式讨论的主要讨论区,例如将新功能添加到Numpy,更改Numpy 路线图或是各种项目级的决策。 同时也是NumPy的公告区,例如releases,开发者会议,Sprints 或是会议演讲也在这个列表中。 + +在这个列表上,请用包含引文回复的方式回复邮件列表(而不是另一个发送者),并且不要回复摘要。 这个列表提供了一个可检索的 [归档](https://mail.python.org/archives/list/numpy-discussion@python.org/)。 + +*** + +### [Github issue 追踪器](https://github.com/numpy/numpy/issues) + +- 报告bug (例如:"`np.arange(3).shop`本应该返回 `(3),`,却返回结果 `(5),`"); +- 文档问题 (例如:"我发现这一节没写清楚"); +- 特性请求 (例如:"我想在 `np.percentile` 中加一个新的插值方法")。 + +_注意,Github不是报告安全漏洞的正确位置! 如果你认为你在 NumPy 中找到了一个安全漏洞,请在 [这里](https://tidelift.com/docs/security) 报告。_ + +*** + +### [Slack](https://numpy-team.slack.com) + +一个用于询问有关为NumPy做 _贡献_ 的问题的实时聊天室。 这是一个私密空间,特别适用于那些在大型公共邮件列表或GitHub上提出他们的问题或想法时犹豫不决的人。 在 [这里](https://numpy.org/devdocs/dev/index.html#contributing-to-numpy) 获取更多详情以及如何才能受邀加入这个空间的方法。 + + +## 学习小组和 Meetups + +如果你想找一个用于了解NumPy以及更广泛的数据科学和科学计算python包生态的本地meetup或是学习小组,我们建议你探索一下[PyData meetups](https://www.meetup.com/pro/pydata/)(开展过150+次 meetups, 包含100,000+ 名成员)。 + +NumPy还偶尔为其团队和感兴趣的贡献者组织亲身Sprints。 这往往会提前几个月计划,并在[邮件列表](https://mail.python.org/mailman/listinfo/numpy-discussion)和[Twitter](https://twitter.com/numpy_team)上发布通知。 + + +## 会议 + +NumPy 项目不会组织自己的会议。 历来最受 NumPy 维护者、贡献者和用户欢迎的会议是SciPy 和 PyData 系列会议如下: + +- [SciPy US](https://conference.scipy.org) +- [EuroSciPy](https://www.euroscipy.org) +- [SciPy Latin America](https://www.scipyla.org) +- [SciPy India](https://scipy.in) +- [SciPy Japan](https://conference.scipy.org) +- [PyData conferences](https://pydata.org/event-schedule/) (分布在许多国家,每年有15-20个活动) + +这些会议大部分都包括一些教程日涵盖 NumPy 和/或 sprints ,您可以从中学习如何为NumPy 或相关的开源项目做贡献。 + + +## 加入 NumPy 社区 + +NumPy 项目的繁荣发展需要您的专业知识和热情。 不是coder? 没关系! 有许多方式可以为NumPy做贡献。 + +如果您有兴趣成为NumPy贡献者 (好耶!) ,建议查看 [贡献](/contribute) 页面。 + +Also, feel free to stop by and say hi at one of our community meetings. To keep track of them, check out our events calendar [here](https://scientific-python.org/calendars/). diff --git a/content/zh/config.yaml b/content/zh/config.yaml new file mode 100644 index 0000000000..8d1f08fa93 --- /dev/null +++ b/content/zh/config.yaml @@ -0,0 +1,137 @@ +languageName: 英语 +params: + description: 为什么使用 Numpy?它有强大的高维数组、有数字计算工具、互可操作、高性能、开源。 + navbarlogo: + image: /logo.svg + text: NumPy + link: / + hero: + #Main hero title + title: NumPy + #Hero subtitle (optional) + subtitle: 使用 Python 进行科学计算的基本包 + #Button text + buttontext: "Latest release: NumPy 2.0. View all releases" + #Where the main hero button links to + buttonlink: "/news/#releases" + #Hero image (from static/images/___) + image: /logo.svg + shell: + title: 占位符 + intro: + - + title: 尝试使用NumPy + text: Use the interactive shell to try NumPy in the browser + docslink: 别忘了查看 用户手册。 + casestudies: + title: 案例研究 + features: + - + title: 第一张黑洞图像 + text: NumPy 是怎么配合 SciPy 和 Matplotlib 等库来让事件视界望远镜(Eht)生成第一张黑洞图像的 + img: /images/content_images/case_studies/blackhole.png + alttext: 这是黑洞的第一张图像。它是黑色背景上衬着的一个橙色圆环。 + url: /case-studies/blackhole-image + - + title: 引力波探测 + text: 在1916年,阿尔伯特·爱因斯坦预测了引力波的存在。100年后,激光干涉引力波天文台(LIGO)的科学家利用 NumPy 证明了引力波的存在。 + img: /images/content_images/case_studies/gravitional.png + alttext: 两个相互环绕的天体。它们改变了周围的引力。 + url: /cash studies/gw-discov + - + title: 运动分析 + text: Cricket Analytics 正在通过统计模型和预测分析来改进队员的团队的表现,改变体育界。NumPy 让其中很多的分析成为了可能。 + img: /images/content_images/case_studies/sports.jpg + alttext: 绿色的赛场上的板球。 + url: /cash studies/cricket-analysitics + - + title: 使用深度学习进行估计 + text: DeepLabCut 使用 NumPy 来加速进行涉及观察动物行为的科学研究,以便跨物种和时间尺度推动研究发展。 + img: /images/content_images/case_studies/deeplabcut.png + alttext: 猎豹姿势分析 + url: /cash studies/deeplabcut-dnn + tabs: + title: 生态系统 + section5: false + navbar: + - + title: 安装 + url: /安装 + - + title: 文档 + url: https://numpy.org/doc/stable + - + title: 学习指南 + url: /learn + - + title: 社区 + url: /community + - + title: About Us + url: /about + - + title: 社区快讯 + url: /新闻 + - + title: Contribute + url: /contribute + footer: + logo: /logo.svg + socialmediatitle: "" + socialmedia: + - + link: https://github.com/numpy/numpy + icon: github + - + link: https://www.youtube.com/channel/UCguIL9NZ7ybWK5WQ53qbHng + icon: youtube + quicklinks: + column1: + title: "" + links: + - + text: 安装 + link: /安装 + - + text: 文档 + link: https://numpy.org/doc/stable + - + text: 学习指南 + link: /learn + - + text: Citing Numpy + link: /citing-numpy + - + text: Roadmap + link: https://numpy.org/neps/roadmap.html + column2: + links: + - + text: About us + link: /about + - + text: 社区 + link: /community + - + text: 用户调查 + link: /用户调查 + - + text: Contribute + link: /contribute + - + text: Code of conduct + link: /code-of-conduct + column3: + links: + - + text: Get help + link: /gethelp + - + text: Terms of use + link: /terms + - + text: Privacy + link: /privacy + - + text: Press kit + link: /press-kit diff --git a/content/zh/contribute.md b/content/zh/contribute.md new file mode 100644 index 0000000000..f6a7d8e585 --- /dev/null +++ b/content/zh/contribute.md @@ -0,0 +1,65 @@ +--- +title: Contribute to NumPy +sidebar: false +--- + +NumPy 项目的繁荣发展需要您的专业知识和热情! Your choices aren't limited to programming, as you can see below there are many areas where we need **your** help. + +如果你不确定从哪里开始或你的技能如何匹配社区, _向我们求助吧!_ 您可以在 [邮件列表](https://mail.python.org/mailman/listinfo/numpy-discussion) 或[GitHub](http://github.com/numpy/numpy) (打开一个[issue](https://github.com/numpy/numpy/issues) 或评论相关的问题)。 + +这些是我们的首选联系渠道(开源的本质是开放),但如果您更喜欢私下交流,请通过 或 [Slack](https://numpy-team.slack.com)联系我们的社区协调员(发送邮件至以获得邀请) + +我们还有一个双周的 _社区电话例会_,详细信息会在[邮件列表 ](https://mail.python.org/mailman/listinfo/numpy-discussion)中公布。 非常欢迎您的加入。 如果您刚开始为开源做贡献,我们也强烈建议您阅读[本指南](https://opensource.guide/how-to-contribute/) + +我们的社区渴望平等对待每个人并重视所有贡献。 我们有一套 [行为准则 ](/code-of-conduct)来营造一个开放和热情的环境。 + +### 写代码 + +Programmers, this [guide](https://numpy.org/devdocs/dev/index.html#development-process-summary) explains how to contribute to the NumPy codebase.
Check out also our [YouTube channel](https://www.youtube.com/playlist?list=PLCK6zCrcN3GXBUUzDr9L4__LnXZVtaIzS) for additional advice. + +### 审核其他人提交的 merge request +本项目有超过250个开放的合入请求 — 这意味着许多潜在的改进和许多等待反馈的开源贡献者。 如果您是一位了解 NumPy 的开发人员,即使您不熟悉代码库,也可以提供帮助。 您可以: +* 对长时间讨论的话题进行总结 +* 对文档的PR进行分类 +* 对做出的修改进行测试 + +### 开发教材 + +NumPy的 [用户指南](https://numpy.org/devdocs) 正在进行整改。 我们需要新的教程、入门指南和深入细致的解释,并且官网结构也需要重新组织。 贡献机会也不限于编写教材。 我们也欢迎使用示例、学习笔记和教学视频。 [NEP 44 — 重构NumPy文档](https://numpy.org/neps/nep-0044-restructuring-numpy-docs.html)列出了我们目前的想法,您可能还有其他想法。 + +### 问题分类 + +[NumPy的问题跟踪器 ](https://github.com/numpy/numpy/issues)有 _很多_未关闭的问题。 有些问题不再合理范围,有些问题应该优先考虑,有些是新贡献者带来的好问题。 您可以: + +* 检查之前的问题是否仍然存在 +* 找出重复出现的问题并将其关联起来 +* 为问题添加清晰的可复现代码 +* 为问题添加正确的标签(这需要分类权限 - 发邮件咨询即可获取) + +只管尽情探索吧。 + +### 网站开发 + +我们刚刚更新了我们的网站,但离完成还有很长的距离。 如果您喜欢网站开发,这些[问题](https://github.com/numpy/numpy.org/issues?q=is%3Aissue+is%3Aopen+label%3Adesign)列出了一些我们尚未满足的需求 -- 请随时分享您的想法。 + +### 平面设计 + +我们几乎无法开始列出平面设计师可以在这里做出的贡献。 社区文档为了准确生动的描述而生;日益成长壮大的网站迫切需要大量的平面设计图片-这里的机会比比皆是。 + +### 翻译网站内容 + +我们计划对 [numpy.org](https://numpy.org) 进行多语种翻译,让用户可以用他们的母语访问 NumPy。 翻译志愿者是这项工作的核心。 请参阅[此处](https://numpy.org/neps/nep-0028-website-redesign.html#translation-multilingual-i18n)了解翻译背景; 对此 [GitHub问题](https://github.com/numpy/numpy.org/issues/55) 发表评论以加入到翻译队伍中. + +### 社区协调和宣传 + +通过社区我们可以更广泛地分享我们的工作,并了解我们的不足之处。 我们渴望让更多的人参与进来,比如关注我们的[Twitter](https://twitter.com/numpy_team) 帐户、组织NumPy [代码比赛](https://scisprints.github.io/)、时事通讯以及博客宣传中。 + +### 筹款活动 + +For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. [This SciPy'19 talk](https://www.youtube.com/watch?v=dBTJD_FDVjU) explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here -- we'd appreciate your help. + +### 捐赠 + +If you'd like to contribute to NumPy by making a donation, visit [https://numpy.org/about/#donate](https://numpy.org/about/#donate). + + diff --git a/content/zh/gethelp.md b/content/zh/gethelp.md new file mode 100644 index 0000000000..3691546335 --- /dev/null +++ b/content/zh/gethelp.md @@ -0,0 +1,20 @@ +--- +title: 获取帮助 +sidebar: false +--- + +**Development issues:** For NumPy development-related matters (e.g., bug reports), please see [Community](/community). + +**User questions:** The best way to get help is to post your question to a site like [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) or [Reddit](https://www.reddit.com/r/Numpy/). We wish we could keep an eye on these sites, or answer questions directly, but the volume is a little overwhelming! + +### [StackOverflow](http://stackoverflow.com/questions/tagged/numpy) + +是一个询问使用问题的论坛,例如"我如何在 NumPy 中执行 X 操作?” 请 [使用 `#numpy` 标签](https://stackoverflow.com/help/tagging) + +*** + +### [Reddit](https://www.reddit.com/r/Numpy/) + +另一个询问使用问题的论坛。 + +*** diff --git a/content/zh/history.md b/content/zh/history.md new file mode 100644 index 0000000000..2baf5ae06c --- /dev/null +++ b/content/zh/history.md @@ -0,0 +1,21 @@ +--- +title: NumPy的历史 +sidebar: false +--- + +NumPy 是一个提供数组数据结构和相关快速数值计算程序的基础 Python 库。 一开始,这个库并没有多少资金,主要由研究生撰写,并且其中许多人没有接受过计算机科学教育。也常常得不到他们顾问的支持。 很难想象,这样一小群三流学生编程者能够颠覆具有数百万资金和高级工程师支持的成熟研究软件生态。 然而,事实证明,从长远来看,完全开放工具栈背后的哲学依据加上兴奋、友好、专注的社区是更好的。 现在,世界各地的科学家、工程师和许多其他专业人员都依赖于Numpy。 例如,已发表的用于引力波分析的脚本导入了NumPy,M87黑洞成像项目直接引用了NumPy。 + +For the in-depth account on milestones in the development of NumPy and related libraries please see [arxiv.org](https://arxiv.org/abs/1907.10121). + +如果您想要获得数字和数组库的原始副本,请点击下面的链接: + +[*Numeric* 下载页](https://sourceforge.net/projects/numpy/files/Old%20Numeric/)* + +[ *Numarray* 下载页 ](https://sourceforge.net/projects/numpy/files/Old%20Numarray/)* + +*请注意,这些旧的数组包不再维护,强烈建议用户将NumPy用于任何与数组相关的目的,或重构早期代码以利用NumPy库。 + +### 历史文档 + +[下载 *"Numeric"* 手册](static/numeric-manual.pdf) + diff --git a/content/zh/install.md b/content/zh/install.md new file mode 100644 index 0000000000..bf70b532c9 --- /dev/null +++ b/content/zh/install.md @@ -0,0 +1,127 @@ +--- +title: 安装NumPy +sidebar: false +--- + +安装 NumPy 的唯一前提条件是安装了 Python 。 If you don't have Python yet and want the simplest way to get started, we recommend you use the [Anaconda Distribution](https://www.anaconda.com/download) - it includes Python, NumPy, and many other commonly used packages for scientific computing and data science. + +NumPy can be installed with `conda`, with `pip`, with a package manager on macOS and Linux, or [from source](https://numpy.org/devdocs/building). 更详细的说明,查阅下方的 [ Python和NumPy安装指南 ](#python-numpy-install-guide)。 + +**CONDA** + +如果您使用 `conda`,您可以从 `defaults` 或 `conda-forge` 频道安装 NumPy + +```bash +# 最佳练习 使用环境而不是在基础环境中安装 +conda create -n my-env +conda activer my-env + +# 如果你想从conda-forge频道安装 +conda config --env --add channel conda-full + +# 实际的安装命令 +conda install numpy +``` + +**PIP** + +如果您使用 `pip`,您可以用如下命令安装NumPy: + +```bash +pip install numpy +``` +另外,当使用 pip 时,最好使用虚拟环境。查看 [Rupuable Installs](#reproducible-installs) 了解原因。 查看 [指南](https://dev.to/bowmanjd/python-tools-for-managing-virtual-environments-3bko#howto) 了解关于使用虚拟环境的详情。 + + + + +# Python 和 NumPy 安装指南 + +在 Python 上安装和管理软件包很复杂,大部分工作任务都有许多可选择的解决方案。 本指南试图给读者一种最佳(或最受欢迎) 解决方案,并给出清晰的建议。 它侧重于在通用操作系统和硬件上使用Python、NumPy和PyData (或数学计算) 这些技术栈的用户。 + +## 建议 + +我们将首先根据用户的经验水平和有兴趣的操作系统提出建议。 如果您在“开始”和“高级”之间纠结,我们建议,如果您想简单点请使用"开始",如果您想按长期最佳实践去做,请看"高级"。 + +### 开始用户 + +在所有Windows、 macOS和Linux上: + +- Install [Anaconda](https://www.anaconda.com/download) (it installs all packages you need and all other tools mentioned below). +- 编写和执行代码,使用[JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) 的notebooks 用于探索式和交互式计算, 使用 [Spyder](https://www.spyder-ide.org/) 或 [Visual Studio Code](https://code.visualstudio.com/) 编写脚本和软件包。 +- 用 [Anaconda Navigator](https://docs.anaconda.com/anaconda/navigator/) 管理你的软件包并启动JupyterLab, Spyder或Visual Studio Code. + + +### 高级用户 + +#### Conda + +- 安装[Miniforge](https://github.com/conda-forge/miniforge). +- Keep the `base` conda environment minimal, and use one or more [conda environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) to install the package you need for the task or project you're working on. + +#### 如果您更喜欢pip/pyPI + +对出于个人喜好或看完下面 conda 和 pip之间的主要差异后更喜欢基于 pip/PyPI 的解决方案的用户,我们建议: +- 从 [python.org](https://www.python.org/downloads/), [Homebrew](https://brew.sh/)或 Linux 软件包管理器安装 Python。 +- 使用 [Poetry](https://python-poetry.org/) ,它是具有与conda 相似的依赖解析器和环境管理能力的完善工具。 + + +## Python 软件包管理 + +软件包管理是一个具有挑战性的问题,因此有许多的工具出现。 对于Web和一般Python开发有一整套能与pip互补的[工具](https://packaging.python.org/guides/tool-recommendations/)。 对于高性能计算 (HPC),[Spack](https://github.com/spack/spack) 值得考虑。 但对于大多数NumPy用户来说, [conda](https://conda.io/en/latest/) 和 [pip](https://pip.pypa.io/en/stable/) 是两个最受欢迎的工具。 + + +### Pip & conda + +安装 Python 软件包的两个主要工具是 `pip` and `conda`。 他们的功能部分重叠(例如两者都可以安装 `numpy`),但他们也可以一起工作。 我们将在这里讨论 pip 与 conda 的主要差异——这对于理解如何有效地管理软件包非常重要。 + +第一点不同是conda是跨语言的,它可以安装 Python,然而 pip 安装在您的系统的特定的 Python 之上, 并只为那一个特定的Python安装其他的软件包。 这也意味着conda 可以安装非Python 库和其他您可能需要的工具(例如编译器、CUDA、HDF5),pip则不行。 + +第二个不同是 pip 以Python包索引(PyPI) 作为安装源。 而conda从自己的渠道安装(通常是"defaults"或 "conda-forge")。 PyPI 是迄今为止最大的软件包集合,不过所有流行的软件包也可用于 conda。 + +第三个不同点,conda是依赖关系、环境和软件包管理的集成解决方案。而 pip 可能需要其他工具 (很多!) 用于处理环境或复杂的依赖关系。 + + + +### 可复现安装 + +随着库的更新,代码的运行结果可能会改变,甚至您的代码完全跑不起来。 能重建你使用的对应版本软件包集合就很重要了。 最佳做法如下: + +1. 为你的每一个项目构建不同的环境 +2. 用软件包管理器记录软件包名称和版本; 每个包管理器都有自己的元数据格式: + - Conda: [conda environments and environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + - Pip: [virtual environments ](https://docs.python.org/3/tutorial/venv.html) and [requirements.txt](https://pip.readthedocs.io/en/latest/user_guide/#requirements-files) + - Poetry: [virtual environments and pyproject.toml](https://python-poetry.org/docs/basic-usage/) + + + +## NumPy包 & 快速线性代数库 + +NumPy 不依赖任何其他Python 包。 不过它依赖于一个快速线性代数库 - 通常是[Intel MKL](https://software.intel.com/en-us/mkl) 或 [OpenBLAS](https://www.openblas.net/)。 用户不必担心要如何安装那些库 (他们会自动包含在所有NumPy 的安装脚本中)。 高级用户可能仍然想知道详细信息,因为使用 BLAS 会影响磁盘的性能、行为和空间: + +- 用pip安装的 NumPy,线性代数库是 OpenBLAS。 OpenBLAS 库包含在NumPy的轮子中。 这让轮子变得更大,而且如果用户安装了 (假设) SciPy,他们现在会在磁盘上有两份OpenBLAS 副本。 + +- 在 conda 的默认频道中,NumPy 是用 Intel MKL 构建的。 MKL 是个单独的软件包,在安装Numpy时会将它安装到用户环境中。 + +- 在 conda-forge 通道中,NumPy 是用虚构的“BLAS”软件包构建的。 当用户从conda-forge安装NumPy时,BLAS 软件包就会与实际库一起安装 - 默认是OpenBLAS ,不过它也可以是 MKL (默认频道),乃至是[BLIS](https://github.com/flame/blis) 或reference BLAS(Netlib的参考实现版本)。 + +- MKL包比OpenBLAS大得多,它在磁盘上有大约700MB,而OpenBLAS 大约30MB。 + +- MKL通常比OpenBLAS更快,更强大。 + +除了安装大小、性能和强大性能外,还有两个东西需要考虑: + +- Intel MKL不开源。 对于正常使用,这倒不是一个问题。 但如果用户需要重新发布基于 NumPy 构建的应用程序。这可能是个问题。 +- MKL 和 OpenBLAS 都将使用多线程进行函数调用,如`np.dot`,而线程数量同时由构建时间选项和一个环境变量决定。 通常所有的CPU核心都能用上。 这有时并不是用户期望的;NumPy本身并不进行任何自动并行函数调用。 多线程通常能产生更好的性能,但也可能降低性能――例如,当使用 Dask、scikit-learn 或 multiprocessing 的另一个并行化等级时。 + + +## 故障排查 + +如果您的安装失败并显示如下信息,请参阅 [故障排查 ImportError](https://numpy.org/doc/stable/user/troubleshooting-importerror.html)。 + +``` +IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! + +Importing the numpy c-extensions failed. This error can happen for different reasons, often due to issues with your setup. +``` + diff --git a/content/zh/learn.md b/content/zh/learn.md new file mode 100644 index 0000000000..0ac635fc94 --- /dev/null +++ b/content/zh/learn.md @@ -0,0 +1,76 @@ +--- +title: 学习指南 +sidebar: false +--- + +有关 **官方NumPy文档**,请访问 [numpy.org/doc/stable](https://numpy.org/doc/stable)。 + +*** + +Below is a curated collection of educational resources, both for self-learning and teaching others, developed by NumPy contributors and vetted by the community. + +## 初学者 + +外部有大量关于 NumPy 的信息。 If you are just starting, we'd strongly recommend the following: + + **教程** + +* [NumPy 快速入门教程](https://numpy.org/devdocs/user/quickstart.html) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). +* [NumPy图解: *Lev Maximov编写的*NumPy可视化指南](https://betterprogramming.pub/3b1d4976de1d?sk=57b908a77aa44075a49293fa1631dd9b) +* [Scientific Python Lectures](https://lectures.scientific-python.org/) Besides covering NumPy, these lectures offer a broader introduction to the scientific Python ecosystem. +* [NumPy:初学者的必读基础课](https://numpy.org/devdocs/user/absolute_beginners.html) +* [*Nicolas Rougier的*NumPy 教程](https://github.com/rougier/numpy-tutorial) +* [*由 Justin Johnson 编写的*斯坦福 CS231。](http://cs231n.github.io/python-numpy-tutorial/) +* [NumPy用户指南](https://numpy.org/devdocs) + + **图书** + +* [Guide to NumPy *by Travis E. Oliphant*](https://web.mit.edu/dvp/Public/numpybook.pdf) This is a free version 1 from 2006. For the latest copy (2015) see [here](https://www.barnesandnoble.com/w/guide-to-numpy-travis-e-oliphant-phd/1144670472). +* [*Nicolas P. Rougier的*从 Python 到 NumPy](https://www.labri.fr/perso/nrougier/from-python-to-numpy/) +* *由 Juan Nunez-Iglesias, Stefan van der Walt, and Harriet Dashnow编写的*[优雅的SciPy](https://www.amazon.com/Elegant-SciPy-Art-Scientific-Python/dp/1491922877) + +You may also want to check out the [Goodreads list](https://www.goodreads.com/shelf/show/python-scipy) on the subject of "Python+SciPy." Most books there are about the "SciPy ecosystem," which has NumPy at its core. + + **视频** + +* *由Alex Chabot-Leclerc制作的*[NumPy数值计算导论](http://youtu.be/ZB7BZMhfPgk) + +*** + +## 进阶资源 + +学习这些进阶资源以更好地理解 NumPy 概念,例如高级索引、拆分、堆叠、线性代数等。 + + **教程** + +* *Nicolas P. Rougier的*[100 NumPy练习题](http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html) +* * M. Scott Shell的*[NumPy 和 Scipy 介绍](https://engineering.ucsb.edu/~shell/che210d/numpy.pdf) +* *Stéfan van der Walt的*[Numpy Medkits](http://mentat.za.net/numpy/numpy_advanced_slides/) +* [NumPy Tutorials](https://numpy.org/numpy-tutorials) A collection of tutorials and educational materials in the format of Jupyter Notebooks developed and maintained by the NumPy Documentation team. To submit your own content, visit the [numpy-tutorials repository on GitHub](https://github.com/numpy/numpy-tutorials). + + **图书** + +* [Python Data Science Handbook](https://www.amazon.com/Python-Data-Science-Handbook-Essential/dp/1098121228) *by Jake Vanderplas* +* [Python for Data Analysis](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X) *by Wes McKinney* +* *Robert Johansson的*[数值Python: 使用 Numpy、SciPy 和 Matplotlib 进行科学计算和数据科学应用](https://www.amazon.com/Numerical-Python-Scientific-Applications-Matplotlib/dp/1484242459) + + **视频** + +* *Juan Nunez-Iglesias的*[NumPy进阶 - 广播机制、步幅和高级索引](https://www.youtube.com/watch?v=cYugp9IN1-Q) + +*** + +## NumPy演讲 + +* *Jaime Fernadez的*[NumPy索引的未来](https://www.youtube.com/watch?v=o0EacbIbf58) (2016) +* *Ralf Gommers的*[Python数组计算的演变史](https://www.youtube.com/watch?v=HVLPJnvInzM&t=10s) (2019) +* *Matti Picus的*[NumPy:什么已经改变,什么将要改变?](https://www.youtube.com/watch?v=YFLVQFjRmPY) (2019) +* *Ralf Gommers, Sebastian Berg, Matti Picus, Tyler Reddy, Stefan van der Walt, Charles Harris谈谈*[NumPy揭秘](https://www.youtube.com/watch?v=dBTJD_FDVjU) (2019) +* *Travis Oliphant的* [ Python 数组计算概述](https://www.youtube.com/watch?v=f176j2g2eNc) (2019) + +*** + +## 引用 NumPy + +如果NumPy在您的研究中具有重要意义,您希望在您的学术出版物中向该项目致谢。 请参阅 [此引用信息](/citing-numpy)。 diff --git a/content/zh/news.md b/content/zh/news.md new file mode 100644 index 0000000000..16c2c43541 --- /dev/null +++ b/content/zh/news.md @@ -0,0 +1,307 @@ +--- +title: 社区快讯 +sidebar: false +newsHeader: "NumPy 2.1 released!" +date: 2024-08-18 +--- + +### NumPy 2.1.0 released + +_18 Aug, 2024_ -- NumPy 2.1.0 provides support for Python 3.13 and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get NumPy back to its usual release cycle after the extended development of 2.0. The highlights for this release are: + +- Support for Python 3.13. +- Preliminary support for free threaded Python 3.13. +- Support for the array-api 2023.12 standard. + +Python versions 3.10-3.13 are supported by this release. + + +### NumPy 2.0.0 released + +_16 Jun, 2024_ -- NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs. It includes breaking changes that could not happen in a regular minor release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0 include: + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + +The blog post ["NumPy 2.0: an evolutionary milestone"](https://blog.scientific-python.org/numpy/numpy2/) tells a bit of the story about how this release came together. + + +### NumPy 2.0 release date: June 16 + +_23 May, 2024_ -- We are excited to announce that NumPy 2.0 is planned to be released on June 16, 2024. This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains **breaking changes** to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy `2.0.0rc2`. **Please see the following for more details:** + +- The [NumPy 2.0 migration guide](https://numpy.org/devdocs/numpy_2_0_migration_guide.html) +- The [2.0.0 release notes](https://numpy.org/devdocs/release/2.0.0-notes.html) +- Announcement issue for status updates: [numpy#24300](https://github.com/numpy/numpy/issues/24300) + + +### NumFOCUS end of the year fundraiser +_Dec 19, 2023_ -- NumFOCUS has teamed up with PyCharm during their EOY campaign to offer a 30% discount on first-time PyCharm licenses. All year-one revenue from PyCharm purchases from now until December 23rd, 2023 will go directly to the NumFOCUS programs. + +Use unique URL that will allow to track purchases https://lp.jetbrains.com/support-data-science/ or a coupon code ISUPPORTDATASCIENCE  + +### NumPy 1.26.0 released + +_Sep 16, 2023_ -- [NumPy 1.26.0](https://numpy.org/doc/stable/release/1.26.0-notes.html) is now available. 此次发布的重点是: + +* Python 3.12.0 support. +* Cython 3.0.0 compatibility. +* Use of the Meson build system +* Updated SIMD support +* f2py fixes, meson and bind(x) support +* Support for the updated Accelerate BLAS/LAPACK library + +The NumPy 1.26.0 release is a continuation of the 1.25.x series that marks the transition to the Meson build system and provision of support for Cython 3.0.0. A total of 20 people contributed to this release and 59 pull requests were merged. + +The Python versions supported by this release are 3.9-3.12. + +### numpy.org is now available in Japanese and Portuguese + +_Aug 2, 2023_ -- numpy.org is now available in 2 additional languages: Japanese and Portuguese. This wouldn’t be possible without our dedicated volunteers: + +_Portuguese:_ +* Melissa Weber Mendonça (melissawm) +* Ricardo Prins (ricardoprins) +* Getúlio Silva (getuliosilva) +* Julio Batista Silva (jbsilva) +* Alexandre de Siqueira (alexdesiqueira) +* Alexandre B A Villares (villares) +* Vini Salazar (vinisalazar) + +_Japanese:_ +* Atsushi Sakai (AtsushiSakai) +* KKunai +* Tom Kelly (TomKellyGenetics) +* Yuji Kanagawa (kngwyu) +* Tetsuo Koyama (tkoyama010) + +The work on the translation infrastructure is supported with funding from CZI. + +Looking ahead, we’d love to translate the website into more languages. If you’d like to help, please connect with the NumPy Translations Team on Slack: https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w. (Look for the #translations channel.) We are also building a Translations Team who will be working on localizing documentation and educational content across the Scientific Python ecosystem. If this piqued your interest, join us on the Scientific Python Discord: https://discord.gg/khWtqY6RKr. (Look for the #translation channel.) + +### NumPy 1.25.0 released + +_Jun 17, 2023_ -- [NumPy 1.25.0](https://numpy.org/doc/stable/release/1.25.0-notes.html) is now available. 此次发布的重点是: + +* Support for MUSL, there are now MUSL wheels. +* Support for the Fujitsu C/C++ compiler. +* Object arrays are now supported in einsum. +* Support for the inplace matrix multiplication (`@=`). + +The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been preparatory work for the future NumPy 2.0.0, resulting in a large number of new and expired deprecations. + +A total of 148 people contributed to this release and 530 pull requests were merged. + +The Python versions supported by this release are 3.9-3.11. + +### Fostering an Inclusive Culture: Call for Participation + +_May 10, 2023_ -- Fostering an Inclusive Culture: Call for Participation + +How can we be better when it comes to diversity and inclusion? Read the report and find out how to get involved [here](https://contributor-experience.org/docs/posts/dei-report/). + +### NumPy documentation team leadership transition + +_Jan 6, 2023_ –- Mukulika Pahari and Ross Barnowski are appointed as the new NumPy documentation team leads replacing Melissa Mendonça. We thank Melissa for all her contributions to the NumPy official documentation and educational materials, and Mukulika and Ross for stepping up. + +### NumPy 1.24.0 released + +_Dec 18, 2022_ -- [NumPy 1.24.0](https://numpy.org/doc/stable/release/1.24.0-notes.html) is now available. 此次发布的重点是: + +* New "dtype" and "casting" keywords for stacking functions. +* New F2PY features and fixes. +* Many new deprecations, check them out. +* Many expired deprecations, + +The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase execution speed, and clarify the documentation. There are a large number of new and expired deprecations due to changes in dtype promotion and cleanups. It is the work of 177 contributors spread over 444 pull requests. The supported Python versions are 3.8-3.11. + +### Numpy 1.23.0 released + +_Jun 22, 2022_ -- [NumPy 1.23.0](https://numpy.org/doc/stable/release/1.23.0-notes.html) is now available. 此次发布的重点是: + +* Implementation of `loadtxt` in C, greatly improving its performance. +* Exposure of DLPack at the Python level for easy data exchange. +* Changes to the promotion and comparisons of structured dtypes. +* Improvements to f2py. + +The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. It is the work of 151 contributors spread over 494 pull requests. The Python versions supported by this release 3.8-3.10. Python 3.11 will be supported when it reaches the rc stage. + +### NumFOCUS DEI research study: call for participation + +_Apr 13, 2022_ -- NumPy is working with [NumFOCUS](http://numfocus.org/) on a [research project](https://numfocus.org/diversity-inclusion-disc/a-pivotal-time-in-numfocuss-project-aimed-dei-efforts?eType=EmailBlastContent&eId=f41a86c3-60d4-4cf9-86cf-58eb49dc968c) funded by the [Gordon & Betty Moore Foundation](https://www.moore.org/) to understand the barriers to participation that contributors, particularly those from historically underrepresented groups, face in the open-source software community. The research team would like to talk to new contributors, project developers and maintainers, and those who have contributed in the past about their experiences joining and contributing to NumPy. + +**Interested in sharing your experiences?** + +Please complete this brief [“Participant Interest” form](https://numfocus.typeform.com/to/WBWVJSqe) which contains additional information on the research goals, privacy, and confidentiality considerations. Your participation will be valuable to the growth and sustainability of diverse and inclusive open-source software communities. Accepted participants will participate in a 30-minute interview with a research team member. + +### NumPy 1.22.0 发布 + +_2021年6月31日_ -- [NumPy 1.22.0](https://numpy.org/doc/stable/release/1.22.0-notes.html) 正式发布。 此次发布的重点是: + +* 主命名空间的注释类型基本上已完成。 上游是个移动目标,所以很可能会有进一步的改进,但是主要的 项工作已经完成。 这可能是本次发布中用户最可见的增强功能。 +* A preliminary version of the proposed [array API Standard](https://data-apis.org/array-api/latest/) is provided (see [NEP 47](https://numpy.org/neps/nep-0047-array-api-standard.html)). 这是创建一个可以在 CuPy 和 JAX 等库中使用的函数的标准收藏的一个步骤。 +* NumPy 现在有一个 DLPack 后端。 DLPack提供了一个数组 (tensor) 数据的通用交换格式。 +* `量化`, `百分比`以及相关函数的新方法。 新的 方法提供了一整套常见于 文献中的方法。 +* 通用函数已被重新考虑,以实现大多数的 [NEP 43](https://numpy.org/neps/nep-0043-extensible-ufuncs.html) 这也会解锁实验未来DType API的能力。 +* 一个新的可配置内存分配器,供下游项目使用。 + +NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. 此版本支持的 Python 版本是 3.8-3.10。 + +### 促进Python科学生态系统中的包容性文化 + +_8月31日, 2021_ — 我们很高兴宣布Chan Zuckerberg倡议 [授予赠款](https://chanzuckerberg.com/newsroom/czi-awards-16-million-for-foundational-open-source-software-tools-essential-to-biomedicine/) 以支持历史上被边缘化群体的人在科学Python项目中的融入、包容和留存,并为NumPy、SciPy、Matplotlib和Pandas的社区动态进行结构性改善。 + +作为 [CZI 基本开放源码科学程序](https://chanzuckerberg.com/eoss/)的一部分, 这 个[多样性 & 包容性补充赠款](https://cziscience.medium.com/advancing-diversity-and-inclusion-in-scientific-open-source-eaabe6a5488b) 将支持创建专门的负责人职位,以确定、记录和实施促进包容性开源社区的实践。 这个项目将由Melissa Mendoncstima (NumPy) 领导,由Ralf Gommers (NumPy, SciPy) Hannah Aizenman and Thomas Caswell (Matplotlib), Matt Haberland (SciPy), and Joris Van den Bossche (Pandas), 提供 额外的辅导和指导 + +这是一个雄心勃勃的项目,旨在发现和执行 应该从结构上改善我们项目的社区动态的活动。 通过 建立这些新的跨项目角色,我们希望在Scientific Python社区引进一个新的 协作模型。 使生态系统中的 社区建设工作能够更有效地开展, 取得更大的成果。 我们还希望在项目中了解什么有效,什么无效,以吸引和留住来自历史上未被代表的群体的新贡献者,建立更清晰的认知。 最后,我们计划制作详细的报告,说明我们采取的措施如何在代表性和与社区互动方面对我们的项目产生影响。 + +这个为期两年的项目预计将于2021年11月开始,我们很期待看到这项工作的成果! [您可以在这里阅读完整的提案](https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063)。 + +### 2021 Numpy调查 + +_2021年7月12日_ -- 我们相信NumPy社区的力量。 来自75个国家的1236 名用户参加了我们去年的首次调查。 调查结果使我们对今后12个月应该集中注意的问题有了很好的了解。 + +现在是时候进行另一次调查了,我们将再度尋求您的合作。 这份调查将耗费您大约15分钟的时间。 除英文外,调查问卷还提供另外8种语文:孟加拉语、法语、印地语、日语、普通话、葡萄牙语、俄语和西班牙语。 + +点击链接开始:https://berkeley.qualtrics.com/jfe/form/SV_aOONjgcBXDSl4q。 + + +### NumPy 1.21.0 发布 + +_2021年6月23日_ -- [NumPy 1.21.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) 正式发布。 此次发布的重点是: + +- 继续开展SIMD工作,涵盖更多的功能和平台 +- 新dtype的基础和型态转换初步工作 +- 适用于Mac平台的Python 3.8和Python 3.9的universal2 wheels +- 改进文档 +- 改进注释 +- 新的 `PCG64DXSM` 位元生成器,用于生成随机数字 + +这个NumPy版本包含175人所贡献的581个合并请求。 此发布版本支持Python 3.7-3.9,将在Python 3.10发布后添加Python 3.10支持。 + + +### 2020 Numpy调研结果结果 + +_2021年6月22日_ -- 在2020年, NumPy调研小组与密歇根大学和马里兰大学的学生和教职员工合作,进行了第一次官方NumPy社区调查。 在这里可以查看调研结果:https://numpy.org/user-survey-2020/。 + + +### NumPy 1.20.0 发布 + +_2021年1月30日_ -- [NumPy 1.20.0](https://numpy.org/doc/stable/release/1.21.0-notes.html) 正式发布。 这是 NumPy到目前为止最大的一次版本更新,感谢180+位贡献者。 最令人振奋的两个特点是: +- 为大部分Numpy代码做了类型注解,並添加了一个全新的`numpy.typing` 子模块,其中包含 `ArrayLike` 和 `DtypeLike`别名 ,使得用户和下游依赖库可以为自己的代码添加类型注解。 +- 为多个架构进行SIMD编译优化,其支持X86(SSE、AVX)、ARM64(Neon) 和PowerPC(VSX) 指令集。 大幅提高许多函数的性能(例如: [sin/cos](https://github.com/numpy/numpy/pull/17587), [einsum](https://github.com/numpy/numpy/pull/18194))。 + +### NumPy项目的多样性 + +_2020年9月20日_ -- 我们就NumPy项目的社交媒体、多样性和包容性的现状以及相关的讨论撰写了一份[声明](/diversity_sep2020)。 + + +### NumPy官方第一次在Nature发表论文! + +_2020年9月16日_ - 我们高兴地宣布 [Numpy的第一篇官方论文](https://www.nature.com/articles/s41586-020-2649-2)刊登在Nature的评论文章。 这离NumPy 1.0发布已经过去了整整14年。 这篇论文涵盖了数组编程的应用和基本概念,基于NumPy构建的丰富科学Python生态系统,以及最近添加的数组协议,以促进与外部数组和张量库(如CuPy、Dask和JAX)的互操作性。 + + +### Python 3.9 即将来临,新版本的NumPy 将在何时发布? + +_2020年9月14日_ -- Python 3.9 将在几周后发布。 如果您是这个Python版本的早期采用者, 您可能会失望的发现NumPy(以及其他二进制软件包,如SciPy) 在Python新版发布当天还不会发布相应的版本。 构建兼容新的 Python 版本的基础设施需要付出重大努力,通常需要几周时间才能让新版本出现在 PyPI 和 conda-forge 上。 为了这次版本升级得以顺利进行,请确保: +- 将您的 `pip` 升级到 20.1 版本,至少要支持`manylinux2010` 和 `manylinux2014` +- 使用 [`--only-binary=numpy`](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-only-binary) 或 `--only-binary=:all:` 选项来防止 `pip` 尝试从源码构建。 + + +### NumPy 1.19.2 发布 + +_2020年9月10日_ -- [NumPy 19.2.0](https://numpy.org/devdocs/release/1.19.2-notes.html) 正式发布。 这个最新版本修复了1.19 系列中的几个漏洞,为 [即将发布的Cython3.x](http://docs.cython.org/en/latest/src/changes.html) 做准备,並固定设置工具以在上游修改正在进行时保持 distutils 工作。 Aarch64架构的安装包是用最新的 manylinux2014 版本构建的,它修复了 linux 发行版之间使用不同大小内存页的问题。 + +### 首次NumPy调研即将开始! + +_Jul 2, 2020_ - 本次调查旨在指导并确定 关于开发NumPy 作为软件和社区的决策重点。 除英文外,调查还提供了另外8种语言的版本:孟加拉语、印地语、日语、普通话、葡萄牙语、俄语、西班牙语和法语。 + +请帮助我们让 NumPy 变得更好,在[这里](https://umdsurvey.umd.edu/jfe/form/SV_8bJrXjbhXf7saAl)参与调查。 + + +### NumPy 有新标志了! + +_2020年7月24日_ -- NumPy 现在有一个新的标志: + +NumPy 标志 + +这个标志是对旧标志的现代化演绎,采用更加简洁的设计。 感谢Isabela Presedo-Floryd的设计方案, 同时感谢Travis Vaugh设计的旧图标为我们服务了15年以上。 + + +### NumPy 1.19.0 发布 + +_2020年6月20日_ -- NumPy 1.19.0 正式发布。 这是第一个不支持Python 2的版本,因此它是一个“清理版本”。 目前支持的最低Python 版本是 Python 3.6。 本版本拥有一个重要的新特性,NumPy 1.17.0引进的随机数字生成基础模块现在可以通过Cython访问。 + + +### 文档整改时段 + +_2020年5月11日_ -- NumPy 已成为Google Season 文档项目之一。 我们很高兴看到有机会和技术写作者一起再次改进NumPy的技术文档! 更多详情,请参考 [文档整改时段官方网站](https://developers.google.com/season-of-docs/) 和我们的 [意见页面](https://github.com/numpy/numpy/wiki/Google-Season-of-Docs-2020-Project-Ideas)。 + + +### NumPy 1.18.0 发布 + +_2019年12月22日_ -- NumPy 1.18.0 正式发布。 在1.17.0发生重大变化后,这是一个合并版本。 这是最后一个支持 Python 3.5的小版本。 该版本的重要更新包括两个,添加了与64位 BLAS 和 LAPACK 库有关的底层更新, 添加 一个用于`numpy.random`的新C-API更新。 + +详情请看 [版本说明](https://github.com/numpy/numpy/releases/tag/v1.18.0)。 + + +### NumPy 从Chan Zuckerberg Initiative获得了一笔捐款 + +_2019年11月15日_ -- 我们高兴地宣布NumPy和 OpenBLAS (Numpy的一个核心依赖库)已经收到一笔19,5000美元的联合赠款。 捐款来自于Chan Zuckerberg Initiative通过的[基础开源科学计算软件项目](https://chanzuckerberg.com/eoss/),用来支持对科学发展起到关键作用的开源软件的维护、增长、开发和社区参与。 + +这笔赠款将用来加速改进NumPy文档、网站重构和社区开发,进而更好地为我们庞大和迅速增长的用户基础服务,并确保项目的长期可持续性。 OpenBLAS 团队将侧重于处理几个关键技术问题,特别是线程安全问题、AVX-512和 thread-local 存储(TLS) 问题,以及OpenBLAS 依赖的 ReLAPACK (递归的LAPACK) 算法改进。 + +若想查看更多关于捐款的倡议和交付件的详情,可在 [全额赠款提案](https://figshare.com/articles/Proposal_NumPy_OpenBLAS_for_Chan_Zuckerberg_Initiative_EOSS_2019_round_1/10302167) 中找到。 项目开始于2019年12月1日,今后12个月将持续运作下去。 + + + + +## 版本发布 + +这是NumPy 版本列表,包含了对应版本发布说明的链接。 所有的 bug修复版本(即在 `x.y.z`格式版本号中只有 `z`改变)没有新功能;小版本更新(`y` 改变)有新功能。 + +- NumPy 2.1.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.2)) -- _5 Oct 2024_. +- NumPy 2.1.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.1)) -- _3 Sep 2024_. +- NumPy 2.0.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.2)) -- _26 Aug 2024_. +- NumPy 2.1.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.1.0)) -- _18 Aug 2024_. +- NumPy 2.0.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.1)) -- _21 Jul 2024_. +- NumPy 2.0.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v2.0.0)) -- _16 Jun 2024_. +- NumPy 1.26.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.4)) -- _5 Feb 2024_. +- NumPy 1.26.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.3)) -- _2 Jan 2024_. +- NumPy 1.26.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.2)) -- _12 Nov 2023_. +- NumPy 1.26.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.1)) -- _14 Oct 2023_. +- NumPy 1.26.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.26.0)) -- _16 Sep 2023_. +- NumPy 1.25.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.2)) -- _31 Jul 2023_. +- NumPy 1.25.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.1)) -- _8 Jul 2023_. +- NumPy 1.24.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.4)) -- _26 Jun 2023_. +- NumPy 1.25.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.25.0)) -- _17 Jun 2023_. +- NumPy 1.24.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.3)) -- _22 Apr 2023_. +- NumPy 1.24.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.2)) -- _5 Feb 2023_. +- NumPy 1.24.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.1)) -- _26 Dec 2022_. +- NumPy 1.24.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.24.0)) -- _18 Dec 2022_. +- NumPy 1.23.5 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.5)) -- _19 Nov 2022_. +- NumPy 1.23.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.4)) -- _12 Oct 2022_. +- NumPy 1.23.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.3)) -- _9 Sep 2022_. +- NumPy 1.23.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.2)) -- _14 Aug 2022_. +- NumPy 1.23.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.1)) -- _8 Jul 2022_. +- NumPy 1.23.0 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.23.0)) -- _22 Jun 2022_. +- NumPy 1.22.4 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.4)) -- _20 May 2022_. +- NumPy 1.21.6 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.21.6)) -- _12 Apr 2022_. +- NumPy 1.22.3 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.3)) -- _7 Mar 2022_. +- NumPy 1.22.2 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.2)) -- _3 Feb 2022_. +- NumPy 1.22.1 ([release notes](https://github.com/numpy/numpy/releases/tag/v1.22.1)) -- _14 Jan 2022_. +- NumPy1.22.0 (发行说明) -- _2021年12月31日_. +- NumPy1.21.5 (发行说明) -- _2021年12月19日_. +- NumPy1.21.0 ([发行说明](https://github.com/numpy/numpy/releases/tag/v1.21.0)) -- _2021年6月22日_. +- NumPy1.23.0 ([发行说明](https://github.com/numpy/numpy/releases/tag/v1.20.3)) -- _2021年5月10日_. +- NumPy1.20.0 ([发行说明](https://github.com/numpy/numpy/releases/tag/v1.20.0)) -- _2021年1月30日_. +- NumPy1.19.5 ([发行说明](https://github.com/numpy/numpy/releases/tag/v1.19.5)) -- _2021年1月5日_. +- NumPy1.19.0 ([发行说明](https://github.com/numpy/numpy/releases/tag/v1.19.0)) -- _2020年6月20日_. +- NumPy1.18.4 (发行说明) -- _2020年5月3日_. +- NumPy1.17.5 (发行说明) -- _2020年1月1日_. +- NumPy1.18.0 (发行说明) -- _2019年12月22日_. +- NumPy1.17.0 (发行说明) -- _2019年7月26日_. +- NumPy1.16.0 (发行说明) -- _2019年1月14日_. +- NumPy1.15.0 (发行说明) -- _2018年7月23日_. +- NumPy1.14.0 (发行说明) -- _2018年1月7日_. diff --git a/content/zh/press-kit.md b/content/zh/press-kit.md new file mode 100644 index 0000000000..ca52ea425e --- /dev/null +++ b/content/zh/press-kit.md @@ -0,0 +1,8 @@ +--- +title: Press kit +sidebar: false +--- + +我们希望能让您在下一篇学术论文、课程材料或演示文稿中轻松地加入NumPy项目标识。 + +您可以在这里找到一些高分辨率的 NumPy 徽标 [](https://github.com/numpy/numpy/tree/main/branding/logo)。 注意,使用 numpy.org 资源意味着你接受 [NumPy 行为准则](/code-of-conduct)。 diff --git a/content/zh/privacy.md b/content/zh/privacy.md new file mode 100644 index 0000000000..ef0dfe8c96 --- /dev/null +++ b/content/zh/privacy.md @@ -0,0 +1,8 @@ +--- +title: 隐私政策 +sidebar: false +--- + +**numpy.org** 由NumPy 项目的财政赞助者 [NumFOCUS, Inc.](https://numfocus.org)运营。 关于本网站的隐私政策,请访问 https://numfocus.org/privacy-policy。 + +如果您对隐私政策或NumFOCUS的数据收集、使用和披露做法有任何疑问,请通过privacy@numfocus.org联系NumFOCUS工作人员。 diff --git a/content/zh/report-handling-manual.md b/content/zh/report-handling-manual.md new file mode 100644 index 0000000000..a86407d368 --- /dev/null +++ b/content/zh/report-handling-manual.md @@ -0,0 +1,95 @@ +--- +title: Numpy行为准则应知应会 +sidebar: false +--- + +这是NumPy行为准则委员会的指导手册。 它保证我们对问题做出一致且公正的回应。 + +[行为守则](/code-of-conduct) 的执行影响到我们的社区现在和未来。 我们很重视它。 在审查执行措施时,行为准则委员会将牢记以下价值观和准则: + +* 人性化方式运作而非不近人情。 委员会会让各方了解情况,同时尊重举报者的隐私和任何必要的保密性。 然而,仍然存在着这种情况。 有时有必要与一个或多个人直接沟通:委员会的目标是改善我们社区的健康状况,而不仅仅是作出正式决定。 +* 强调对个人遭遇的同情,而不是一味批评行为,避免出现“好”和“坏/邪恶”的二元对立标签。 我们将坚定地处理公开、明显的挑衅和骚扰问题。 但许多可能被证明具有挑战性的情形是有些正常的分歧会转化为多方无助或有害的行为。 了解整个背景并找到一条使所有人都能重新参与进来的道路是困难的,但最终对我们社区最有成效。 +* 我们都知道,电子邮件是一个孤立的、沟通困难的媒介。 在没有个人联系方式的情况下收到匿名举报邮件,可能特别令人痛苦。 这使得保持一种尊重他人意见的开放气氛变得特别重要。 这还意味着我们的所有行为必须公开透明。 我们将竭尽全力确保我们所有成员得到公平和同情的待遇。 +* 歧视可能是微妙且不负责任的。 它在一定程度上表现出不公平和敌意的态度,而不是正常的互动。 我们知道这种情况确实发生了,我们将仔细寻找并应对这种情况。 如果你觉得受到了不公平的待遇,我们非常希望听到你们的声音, 我们将利用这些流程确保你的申诉得到关注和处理。 +* 帮助增加良性讨论的实践:想方设法识别出讨论可能已经产生歧义和偏斜的地方。 并提供可实施的信息、方向和资源,以便在这些方面产生积极的影响。 +* 重点关注新成员的需求:向他们提供明确的支持和关心, 目的是增加代表人数不足的群体的参与度。 +* 每个人都拥有不同的文化背景和语言习惯。 尽可能识别对非英文为母语的参与者造成的任何不必要的误解,并帮助他们了解这一问题以及作出哪些改变以避免造成冒犯。 用一门外语进行复杂的讨论可能非常具有威胁性,我们希望在不同民族和不同文化之间扩大我们的多样性。 + + +## 调解 + +自愿非正式调解是一种好的调解方式。 在两个或多个当事方都已升级到不适当行为程度的情况下(可悲的是在人类冲突中很常见), 促进调解进程可能是有益的。 这只是一个例子:委员会在任何情况下都可以考虑调解。 考虑到这一进程完全是自愿的,任何一方都不能被迫参与。 如果委员会建议进行调解,它应当: + +* 找到一个可以担任调解员的候选人。 +* 取得举报者的同意。 举报者完全可以自由地拒绝调解或提出一名候补调解人。 +* 取得被举报人的同意。 +* 调解人的问题:各方可以提出不同于推荐候选人的调解人, 只有就所有条件达成共同协议,该进程才能向前推进。 +* 最好在两周内确定完成调解的时间计划表。 + +调解人将与所有参与方接触,寻求各方都满意的解决办法。 在调解完成后,调解方将向委员会提交一份书面报告(经调解过程中所有各方审查通过),并就今后的实施细则提出建议。 然后委员会将评估调解结果(无论是否达成了令人满意的解决方案),并对必要的额外的调解动作作出决定。 + + +## 委员会将如何对举报作出回应 + +当委员会(或委员会成员) 收到举报时, 他们将首先要确定该报告是否涉及明显和严重的违约行为(定义见下文)。 如果确认属实,需要立即采取行动并启动常规的举报调解流程。 + + +## 明确和严重的违约行为 + +我们知道,互联网通信平台从诞生开始就演变为非常普遍的辱骂恶意中伤的场所。 我们将迅速处理明显和严重的侵权行为,如人身威胁、暴力、性别歧视或种族主义语言。 + +如果行为守则委员会的一名成员发现明显和严重的违反行为,他们将采取下列行动: + +* 立即断开始作俑者与所有NumPy 通信频道的连接。 +* 告知举报者,他们的报告已经收到,被举报人已经断开和Numpy的联系。 +* 在每种情况下,调解人都应作出努力与被举报人联系。 并明确的告诉他们,他们的语言或行动是如何构成“明显和严重的违反行为”的。 调解人还应指出,如果被举报人认为这是不公平的,或者他们想要重新和NumPy取得联系, 他们有权要求行为守则委员会进行下面描述的审查。 调解人应将这一审查结果报送给行为守则委员会。 +* 行为守则委员会将正式审查和签署所有适用这一行为的案件,以确保其不被用来进行普通程度争执的仲裁。 + + +## 举报处理 + +当报告送交委员会时,他们将立即答复报告人以确认收到。 这种答复必须在72小时内完成,委员会会尽最大努力比这更快一些。 + +如果报告没有提供足够多的资料,委员会将在采取行动之前获得所有相关数据。 委员有权代表指导委员会与任何相关个体联系,以更完整地了解事件的来龙去脉。 + +委员会随后将审查这一事件,并尽力确定如下事项: + +* 发生了什么。 +* 这一事件是否违反《行为守则》。 +* 谁是责任方。 +* 这种情况是否正在发生,而且对个人的人身安全产生了威胁。 + +这种信息将以书面形式收集,只要有可能,委员会的任何相关动作都将记录并保存(比如聊天记录、电子邮件讨论、会议录音、语音对话总结等)。 + +必须保留委员会所有活动的档案,以确保行为上的一致性,并为项目提供机构记忆。 为了协助这方面的工作, 本委员会的默认沟通渠道将是一份私人邮件列表,供委员会现有和未来成员以及指导委员会成员在提出正当要求时查阅。 如果委员会认为有必要使用列表外的沟通方式(例如: 早期/快速响应的电话呼叫),在所有情况下都应该及时将沟通方式收敛到列表中,以便有一个良好的过程记录。 + +行为守则委员会应争取在两周内商定一项决议。 如果在那个时候无法确定某项决议, 委员会将向报告者提供最新情况和预计的决议时间表。 + + +## 解决方案 + +委员会必须以协商一致方式商定一项决议。 如果该小组在一个多星期内无法达成共识和陷入僵局,该小组将把问题提交给指导委员会解决。 + +可能的应对措施包括: + +* 不采取进一步行动: + - 如果确定没有发生侵犯行为; + - 如果问题在委员会审议答复时已经公开解决了。 +* 协商自愿调解:如果所有有关各方同意,委员会可促进上面详述的调解进程。 +* 公开提醒并指出某些行为/行动/语言被认为是不恰当的,在目前情况下发生的合理性说明, 或者只能伤害特定人群,要求社区进行自我调整。 +* 委员会对有关个体进行私下训诫。 在这种情况下,小组主席将通过电子邮件向个人发出谴责,并抄送小组成员。 +* 公开谴责。 在这种情况下,委员会主席将在实际可行的限度内在同一地点对侵权行为进行申斥。 例如,在原始邮件列表中进行邮件控诉, 有可能被控诉对象未参与到聊天室的讨论中,虽然可以通过其他方式联系到。 该群组可以选择在别处发布控诉消息作为文档备份。 +* 要求公开或私下道歉, 假定举报者同意这一想法:他们可酌情拒绝与侵权者进一步接触。 委员会主席将传递这一请求。 委员会可按其意愿对这项要求附加“严格”条件:该群组可能要求侵权者道歉,以便在邮件列表中保留一个会员资格。 +* 委员会要求个人暂时停止社区参与的“相互商定的间歇”。 如果个人选择不自愿暂停,委员会可发布“强制性冷却期”。 +* 永远或暂时禁止参与NumPy (如邮件列表、gitter.im等等)。 工作组将保存所有这类禁令的记录,以便今后对其进行审查或备案。 + +一旦商定了一项决议,在该决议颁布之前, 委员会将与原报告人和任何其他受影响的各方进行联系,并解释拟议的决议。 委员会将询问这项决议是否可以接受,并且必须将反馈意见记录在案。 + +最后,委员会将向NumPy指导委员会进行汇报(也将向NumPy核心小组以诸如禁令的例行事件形式汇报)。 + +委员会绝不公开讨论这个问题。 所有公开声明将由行为守则委员会主席或NumPy指导委员会作出。 + + +## 利益冲突 + +如果出现利益冲突,委员会成员必须立即通知其他成员,必要时需要回避。 diff --git a/content/zh/tabcontents.yaml b/content/zh/tabcontents.yaml new file mode 100644 index 0000000000..82800b2030 --- /dev/null +++ b/content/zh/tabcontents.yaml @@ -0,0 +1,373 @@ +params: + machinelearning: + paras: + - + para1: NumPy forms the basis of powerful machine learning libraries like [scikit-learn](https://scikit-learn.org) and [SciPy](https://www.scipy.org). As machine learning grows, so does the list of libraries built on NumPy. [TensorFlow’s](https://www.tensorflow.org) deep learning capabilities have broad applications — among them speech and image recognition, text-based applications, time-series analysis, and video detection. [PyTorch](https://pytorch.org), another deep learning library, is popular among researchers in computer vision and natural language processing. + para2: Statistical techniques called [ensemble](https://towardsdatascience.com/ensemble-methods-bagging-boosting-and-stacking-c9214a10a205) methods such as binning, bagging, stacking, and boosting are among the ML algorithms implemented by tools such as [XGBoost](https://xgboost.readthedocs.io/), [LightGBM](https://lightgbm.readthedocs.io/en/latest/), and [CatBoost](https://catboost.ai) — one of the fastest inference engines. [Yellowbrick](https://www.scikit-yb.org/en/latest/) and [Eli5](https://eli5.readthedocs.io/en/latest/) offer machine learning visualizations. + arraylibraries: + intro: + - + text: 当编写库以利用创新硬件、创建专门的数组类型或添加超出NumPy提供的功能时,NumPy的API是起点。 + headers: + - + text: 数组库 + - + text: 能力和应用区域 + libraries: + - + title: Dask + text: 分布式阵列和高级平行用于分析,从而能够实现规模性能。 + img: /images/content_images/arlib/dask.png + alttext: Dask + url: https://dask.org/ + - + title: 立方体 + text: 使用 Python 加速计算 GPU 兼容的数组库。 + img: /images/content_images/arlib/cupy.png + alttext: 立方体 + url: https://cupy.dev + - + title: JAX + text: "NumPy程序的可组合变换:求导、矢量化、即时编译到GPU/TPU。" + img: /images/content_images/arlib/jax_logo_250px.png + alttext: JAX + url: https://jax.readthedocs.io/ + - + title: Xarray + text: Labeled, indexed multi-dimensional arrays for advanced analytics and visualization. + img: /images/content_images/arlib/xarray.png + alttext: xarray + url: https://xarray.pydata.org/en/stable/index.html + - + title: 稀疏 + text: NumP兼容的稀疏阵列库,集成与 Dask 和 SciPy 的稀疏线性代数组。 + img: /images/content_images/arlib/sparse.png + alttext: 稀疏 + url: https://sparse.pydata.org/en/latest/ + - + title: PyTorch + text: 深度学习框架加快了从研究原型到生产部署的道路。 + img: /images/content_images/arlib/pytorch-logo-dark.svg + alttext: PyTorch + url: https://pytorch.org/ + - + title: TensorFlow + text: 用于机器学习的端到端平台,便于构建和部署 ML 驱动应用。 + img: /images/content_images/arlib/tensorflow-logo.svg + alttext: TensorFlow + url: https://www.tensorflow.org + - + title: Arrow + text: 一个用于列内存数据和分析的跨语言开发平台。 + img: /images/content_images/arlib/arrow.png + alttext: 方向键 + url: https://arrow.apache.org/ + - + title: xtensor + text: 多维数组与广播和延迟计算以进行数值分析。 + img: /images/content_images/arlib/xtensor.png + alttext: xtensor + url: https://github.com/xtensor-stack/xtensor-python + - + title: Awkward Array + text: Manipulate JSON-like data with NumPy-like idioms. + img: /images/content_images/arlib/awkward.svg + alttext: awkward + url: https://awkward-array.org/ + - + title: uarray + text: 能够将 API 与实现分离的 Python 后端系统;解压提供一个 NumPy API。 + img: /images/content_images/arlib/uarray.png + alttext: uarray + url: https://uarray.org/en/latest/ + - + title: tensorly + text: Tensor learning, algebra and backends to seamlessly use NumPy, PyTorch, TensorFlow or CuPy. + img: /images/content_images/arlib/tensorly.png + alttext: tensorly + url: http://tensorly.org/stable/home.html + scientificdomains: + intro: + - + text: 使用Python工作的几乎每个科学家都利用NumPy的力量。 + - + text: "NumPy将C和Fortran等语言的计算能力引入Python,使得Python这门语言更易于学习和使用。这种能力带来了简单性:在NumPy中的解决方案通常是清晰而优雅的。" + libraries: + - + title: 量子计算 + alttext: 计算机芯片 + img: /images/content_images/sc_dom_img/quantum_computing.svg + links: + - + url: http://qutip.org + label: QuTiP + - + url: https://pyquil-docs.rigetti.com/en/stable + label: PyQuil + - + url: https://qiskit.org + label: Qiskit + - + url: https://pennylane.ai + label: PennyLane + - + title: 统计计算 + alttext: 向上移动的线形图。 + img: /images/content_images/sc_dom_img/statistical_computing.svg + links: + - + url: https://pandas.pydata.org/ + label: Pandas + - + url: https://www.statsmodels.org/ + label: statsmodels + - + url: https://xarray.pydata.org/en/stable/ + label: Xarray + - + url: https://seaborn.pydata.org/ + label: Seaborn + - + title: Signal Processing + alttext: A bar chart with positive and negative values. + img: /images/content_images/sc_dom_img/signal_processing.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://pywavelets.readthedocs.io/ + label: PyWavelets + - + url: https://python-control.org/ + label: python-control + - + url: https://hyperspy.org/ + label: HyperSpy + - + title: Image Processing + alttext: 山区照片。 + img: /images/content_images/sc_dom_img/image_processing.svg + links: + - + url: https://scikit-image.org/ + label: Scikit-image + - + url: https://opencv.org/ + label: OpenCV + - + url: https://mahotas.rtfd.io/ + label: Mahotas + - + title: Graphs and Networks + alttext: A simple graph. + img: /images/content_images/sc_dom_img/sd6.svg + links: + - + url: https://networkx.org/ + label: NetworkX + - + url: https://graph-tool.skewed.de/ + label: graph-tool + - + url: https://igraph.org/python/ + label: igraph + - + url: https://pygsp.rtfd.io/ + label: PyGSP + - + title: Astronomy + alttext: 望远镜。 + img: /images/content_images/sc_dom_img/astronomy_processes.svg + links: + - + url: https://www.astropy.org/ + label: AstroPy + - + url: https://sunpy.org/ + label: SunPy + - + url: https://spacepy.github.io/ + label: SpacePy + - + title: 认知心理学 + alttext: 一个带有渔具的人头部。 + img: /images/content_images/sc_dom_img/cognitive_psychology.svg + links: + - + url: https://www.psychopy.org/ + label: PsychoPy + - + title: 生物信息学 + alttext: 一组DNA。 + img: /images/content_images/sc_dom_img/bioinformatics.svg + links: + - + url: https://biopython.org/ + label: BioPython + - + url: http://scikit-bio.org/ + label: Scikit-Bio + - + url: https://github.com/openvax/pyensembl + label: PyEnsembl + - + url: http://etetoolkit.org/ + label: ETE + - + title: 贝叶斯推断 + alttext: 带有钟形曲线的图形。 + img: /images/content_images/sc_dom_img/bayesian_inference.svg + links: + - + url: https://pystan.readthedocs.io/en/latest/ + label: PyStan + - + url: https://docs.pymc.io/ + label: PyMC3 + - + url: https://arviz-devs.github.io/arviz/ + label: ArviZ + - + url: https://emcee.readthedocs.io/ + label: emcee + - + title: 数学分析 + alttext: 四个数学符号。 + img: /images/content_images/sc_dom_img/mathematical_analysis.svg + links: + - + url: https://www.scipy.org/ + label: SciPy + - + url: https://www.sympy.org/ + label: SymPy + - + url: https://www.cvxpy.org/ + label: cvxpy + - + url: https://fenicsproject.org/ + label: FEniCS + - + title: "化学\n" + alttext: 测试管。 + img: /images/content_images/sc_dom_img/chemistry.svg + links: + - + url: https://cantera.org/ + label: Cantera + - + url: https://www.mdanalysis.org/ + label: MDAnalysis + - + url: https://github.com/rdkit/rdkit + label: RDKit + - + url: https://www.pybamm.org/ + label: PyBaMM + - + title: 地球科学 + alttext: 地球 + img: /images/content_images/sc_dom_img/geoscience.svg + links: + - + url: https://pangeo.io/ + label: Pangeo + - + url: https://simpeg.xyz/ + label: Simpeg + - + url: https://github.com/obspy/obspy/wiki + label: ObsPy + - + url: https://www.fatiando.org/ + label: Fatiando a Terra + - + title: 地域处理 + alttext: 一个地图。 + img: /images/content_images/sc_dom_img/GIS.svg + links: + - + url: https://shapely.readthedocs.io/ + label: Shapely + - + url: https://geopandas.org/ + label: GeoPandas + - + url: https://python-visualization.github.io/folium + label: Folium + - + title: 建筑与工程 + alttext: 微处理器开发委员会。 + img: /images/content_images/sc_dom_img/robotics.svg + links: + - + url: https://compas.dev/ + label: COMPAS + - + url: https://cityenergyanalyst.com/ + label: City Energy Analyst + - + url: https://nortikin.github.io/sverchok/ + label: Sverchok + datascience: + intro: "NumPy 是丰富的数据科学库生态系统的核心。典型的探索性数据科学工作流程可能类似于:" + image1: + - + img: /images/content_images/ds-landscape.png + alttext: Python 库图表。五个图表是“提取、转换、加载”、“数据探索”、“数据模型”、“数据评估”和“数据列示”。 + image2: + - + img: /images/content_images/data-science.png + alttext: 三个重叠圈的图表。圆形的标签是“数学”、“计算机科学”和“域专门知识”。 图表中间有三个圆圈重叠,是一个标题为“数据科学”的区域。 + examples: + - + text: "Extract, Transform, Load: [Pandas](https://pandas.pydata.org), [Intake](https://intake.readthedocs.io), [PyJanitor](https://pyjanitor-devs.github.io/pyjanitor/)" + - + text: "探索分析: [Jupyter](https://jupyter.org), [Seaborn](https://seaborn.pydata.org), [Matplotlib](https://matplotlib.org), [Altair](https://altair-viz.github.io)" + - + text: "模型与评估: [scikit-learn](https://sikit-learn.org), [statsmodels](https://www.statsmodels.org/stable/index.html), [PyMC3](https://docs.pymc.io), [spaCy](https://spacy.io)" + - + text: "Report in a dashboard: [Dash](https://plotly.com/dash), [Panel](https://panel.holoviz.org), [Voila](https://voila.readthedocs.io/)" + content: + - + text: For high data volumes, [Dask](https://dask.org) and [Ray](https://ray.io/) are designed to scale. Stable deployments rely on data versioning ([DVC](https://dvc.org)), experiment tracking ([MLFlow](https://mlflow.org)), and workflow automation ([Airflow](https://airflow.apache.org), [Dagster](https://dagster.io) and [Prefect](https://www.prefect.io)). + visualization: + images: + - + url: https://www.fusioncharts.com/blog/best-python-data-visualization-libraries + img: /images/content_images/v_matplotlib.png + alttext: 在 matplotlib 中制作的流图 + - + url: https://github.com/yhat/ggpy + img: /images/content_images/v_ggpy.png + alttext: 一个以ggpt做成的散射图形 + - + url: https://www.journaldev.com/19692/python-plotly-tutorial + img: /images/content_images/v_plotly.png + alttext: 用plotly制作的盒状图 + - + url: https://altair-viz.github.io/gallery/streamgraph.html + img: /images/content_images/v_altair.png + alttext: A streamgraph made in altair + - + url: https://seaborn.pydata.org + img: /images/content_images/v_seaborn.png + alttext: A pairplot of two types of graph, a plot-graph and a frequency graph made in seaborn" + - + url: https://docs.pyvista.org/ + img: /images/content_images/v_pyvista.png + alttext: A 3D volume rendering made in PyVista. + - + url: https://napari.org + img: /images/content_images/v_napari.png + alttext: A multi-dimensionan image made in napari. + - + url: https://vispy.org/gallery/index.html + img: /images/content_images/v_vispy.png + alttext: A Voronoi diagram made in vispy. + content: + - + text: NumPy is an essential component in the burgeoning [Python visualization landscape](https://pyviz.org/overviews/index.html), which includes [Matplotlib](https://matplotlib.org), [Seaborn](https://seaborn.pydata.org), [Plotly](https://plot.ly), [Altair](https://altair-viz.github.io), [Bokeh](https://docs.bokeh.org/en/latest/), [Holoviz](https://holoviz.org), [Vispy](http://vispy.org), [Napari](https://napari.org/), and [PyVista](https://docs.pyvista.org/), to name a few. + - + text: NumPy's accelerated processing of large arrays allows researchers to visualize datasets far larger than native Python could handle. diff --git a/content/zh/teams/index.md b/content/zh/teams/index.md new file mode 100644 index 0000000000..4552df654f --- /dev/null +++ b/content/zh/teams/index.md @@ -0,0 +1,36 @@ +--- +title: NumPy Teams +sidebar: false +--- + +我们是一个国际团队,通过建造优质开放源码软件,支持世界各地的科学和研究 +个社区。 +[Join us](/contribute)! + +### Maintainers + +{{< grid file="maintainers.toml" columns="2 3 4 5" />}} + +### Docs team + +{{< grid file="docs-team.toml" columns="2 3 4 5" />}} + +### Web team + +{{< grid file="web-team.toml" columns="2 3 4 5" />}} + +### Triage team + +{{< grid file="triage-team.toml" columns="2 3 4 5" />}} + +### Survey team + +{{< grid file="survey-team.toml" columns="2 3 4 5" />}} + +### Emeritus maintainers + +{{< grid file="emeritus-maintainers.toml" columns="2 3 4 5" />}} + +# 管理 + +For the list of the Steering Council members, please see [here](https://numpy.org/about/). diff --git a/content/zh/user-survey-2020.md b/content/zh/user-survey-2020.md new file mode 100644 index 0000000000..8056f613c7 --- /dev/null +++ b/content/zh/user-survey-2020.md @@ -0,0 +1,18 @@ +--- +title: 2020年NumPy社区调研 +sidebar: false +--- + +2020 年,NumPy 调查团队与密歇根大学和马里兰大学联合主办的调查方法学硕士课程的师生合作,进行了第一次官方 NumPy 社区调查。 来自 75 个国家/地区的 1,200 多名用户参与其中,帮助我们勾勒出一幅 NumPy 社区的全景图,并表达了他们对项目未来的看法。 + +{{< figure >}} +src = '/surveys/NumPy_usersurvey_2020_report_cover.png' alt = 'Cover page of the 2020 NumPy user survey report, titled "NumPy Community Survey 2020 - results"' width = '250' +{{< /figure >}} + +**[下载报告](/surveys/NumPy_usersurvey_2020_report.pdf)** 以更仔细地查看调查结果。 + + +重点部分,请参阅 **[信息图](https://github.com/numpy/numpy-surveys/blob/master/images/2020NumPysurveyresults_community_infographic.pdf)**。 + +准备仔细研究? 访问 **https://numpy.org/user-survey-2020-details/**。 + diff --git a/content/zh/user-surveys.md b/content/zh/user-surveys.md new file mode 100644 index 0000000000..c62b3a03bf --- /dev/null +++ b/content/zh/user-surveys.md @@ -0,0 +1,10 @@ +--- +title: NUMPY 用户调查 +sidebar: false +--- + +**2020年, ** -- NumPy调研小组与密歇根大学和马里兰大学的学生和教职员工合作,进行了第一次官方NumPy社区调查。 在这里查找调查结果 [](https://numpy.org/user-survey-2020/)。 + +**2021年** 目前正在分析收集到的数据。 + +如果您对过去或未来的调查有任何问题或建议,请[在这里](https://github.com/numpy/numpy-surveys/issues)提出问题。